hat is the difference between rc1, the nightly. which version is better?
Checking build tools versions...
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
Do we actually want to filter out IPv6? Samsung does it in stock, but tuna does not.RE: http://review.cyanogenmod.com/#/c/18475/
I think I'm making some progress with decoding the filter format:
<id> <negate match 0|1> <filter type> <offset> <mask> <value>
ID - unique filter id. It looks possible that different ranges have different effects but more research is needed.
If negate match field is 0, normal processing is applied. If 1, the sense of the test is reversed (rather than the accept/drop action itself).
Filter type 0 seems to be match from the beginning of the ethernet frame. Haven't tested for any other types.
Offset is the number of bytes into the frame to begin checking the mask/value.
Mask identifies the bits of interest.
Value is what the bits of interest must be set to.
Mask and value must be the same length.
The default filters (ie pre patch) are:
100 0 0 0 0x010000000000000000000000000020 0x000000000000000000000000000000
104 0 0 0 0xFFFFFF 0x01005E
Processing logic seems to be accept on any match (where accept means the packet is permitted to the host stack when the screen is off).
So the above rules are:
id 100:
bits of interest are the first bit of the first byte of the dest eth address and the value must be 0. ie must be unicast
14 bytes further in we get to the IP header. the first nibble is the IP protocol version and the second bit must be zero which means it will never match ipv6 traffic.
summary: permit any unicast non-ipv6 traffic
id 104:
much simpler - match any frames with a dest mac 01005E, ie standard multicast frames.
Both of above decodes seem match tcpdump testing - multicast is permitted and wakes the phone, any unicast is also permitted but broadcast traffic is not.
Some of the comments in the code do not match the direction of the logic so either things have changed or the language is simply incorrect. For example, one of the filters referenced but not used in kernel/samsung/smdk4210/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_linux.c is:
/* discard NAT Keepalive packets */
102 0 0 36 0xffffffff 0x11940009
This would mean skip past the eth and IP headers (14+20 bytes) and then go two bytes into the layer 4 header. We're matching on the following 8 bytes so, in practice this is likely to be UDP (if this were TCP it would cover the sequence number) and corresponds to the destination port (0x1194 = 4500 IPSEC NAT traversal) and udp datagram size field in bytes. The udp header is 8 bytes so this implies the packet must have a 1 byte of udp payload. So, certainly, it looks like it's matching NAT keepalives but, contrary to the comment, it would permit them not discard them.
=================================
The filter logic enables some interesting concepts like you could permit unicast udp, tcp and arp only with:
100 0 0 0 0x0100000000000000000000000000200000000000000000ff 0x000000000000000000000000000000000000000000000006
101 0 0 0 0x0100000000000000000000000000200000000000000000ff 0x000000000000000000000000000000000000000000000011
102 0 0 0 0x010000000000000000000000ffff 0x0000000000000000000000000806
I've verified this actually works (and it does. It would break IPSEC but it's interesting nonetheless..
In short, the best general purpose filter right now is probably: accept any non-IPv6 unicast.
ie
100 0 0 0 0x010000000000000000000000000020 0x000000000000000000000000000000
correct local_manifest.xml
Code:<?xml version="1.0" encoding="UTF-8"?> <manifest> <project name="CyanogenMod/android_device_samsung_galaxys2" path="device/samsung/galaxys2" remote="github" /> <project name="CyanogenMod/android_kernel_samsung_smdk4210" path="kernel/samsung/smdk4210" remote="github" revision="ics" /> <project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="ics"> <copyfile dest="build.sh" src="samsung/build.sh" /> </project> <project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" /> </manifest>
Sent from my Galaxy Nexus using XDA
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="ics">
<copyfile dest="build.sh" src="samsung/build.sh" />
</project>
<project name="CyanogenMod/android_device_samsung_galaxys2" path="device/samsung/galaxys2" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_smdk4210" path="kernel/samsung/smdk4210" remote="github" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" />
</manifest>
Do we actually want to filter out IPv6? Samsung does it in stock, but tuna does not.
Sry for the reply, I'm not a developer (yet), till then it would be neat if someone could build an apk for real FM radio (getting reception from headphones not internet) like in the former CM releases (7,7.1,etc).
Cheers
codeworkx said:TV Out: not working properly
FM Radio: unsupported, try Spirit FM from market
Orientation sensor is rolling when pitching
Volume issues when a notification is received and headphones are attached. libaudio is misbehaving, thank Samsung
NFC support on GT-I9100P is missing
I just tried to sync my repo but in the last two days, I've got the following error. Is it normal?
From git://github.com/CyanogenMod/android_vendor_cm
78fdcc7..ed3e91e jellybean -> github/jellybean
error: Cannot fetch teamhacksung/android_kernel_samsung_smdk4210
error: Exited sync due to fetch errors
Code:[email protected] ~/CM10 $ stat out/target/product/i9100/cm-10-20120711-UNOFFICIAL-i9100.zip File: `out/target/product/i9100/cm-10-20120711-UNOFFICIAL-i9100.zip' Size: 136018210 Blocks: 265664 IO Block: 4096 regular file Device: 801h/2049d Inode: 1341101 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ espen) Gid: ( 1000/ espen) Access: 2012-07-12 08:45:13.635867003 +0200 Modify: 2012-07-12 08:45:13.503869326 +0200 Change: 2012-07-12 08:45:13.503869326 +0200 Birth: -
Now go away please.
@codeworkx / teamhacksung: I'd like to request you to start branch jellybean for galaxys2 (Not asking to remove the lunch combo comment, I think is the best idea for avoiding rushed devs to softbrick their phone.but it would be funny if they do), that way we can help you to start the porting to jellybean via gerrit, there are a few things that must be edited, as dependencies and so. I understand though if you want to keep it till you decide is stable or ready to merge on CM git, and do this things by yourself. At this time it may be already done, who knows, you guys work like a thunder. Patiently waiting those branches appearing anyway
You must edit your manifest file and change
teamhacksung/android_kernel_samsung_smdk4210
for
CyanogenMod/android_kernel_samsung_smdk4210
As for now it doesn't haves a jellybean branch, are you trying to fetch jellybean?
@codeworkx / teamhacksung: I'd like to request you to start branch jellybean for galaxys2 (Not asking to remove the lunch combo comment, I think is the best idea for avoiding rushed devs to softbrick their phone.but it would be funny if they do), that way we can help you to start the porting to jellybean via gerrit, there are a few things that must be edited, as dependencies and so. I understand though if you want to keep it till you decide is stable or ready to merge on CM git, and do this things by yourself. At this time it may be already done, who knows, you guys work like a thunder. Patiently waiting those branches appearing anyway![]()
[email protected] ~/CM10 $ stat out/target/product/i9100/cm-10-20120711-UNOFFICIAL-i9100.zip
File: `out/target/product/i9100/cm-10-20120711-UNOFFICIAL-i9100.zip'
Size: 136018210 Blocks: 265664 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1341101 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ espen) Gid: ( 1000/ espen)
Access: 2012-07-12 08:45:13.635867003 +0200
Modify: 2012-07-12 08:45:13.503869326 +0200
Change: 2012-07-12 08:45:13.503869326 +0200
Birth: -
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
* Submitting bug reports on nightly builds is the leading
* cause of male impotence.
*/
http://teamhacksung.org/wiki/index.php/CyanogenMod9:How_to_build