It looks like there is an issue with the byte alignment. I found this post:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg20797.html and based on that made the following changes to drivers/usb/gadget/ u_ether.c: 257,258c257 < < //skb_reserve(skb, NET_IP_ALIGN); --- > skb_reserve(skb, NET_IP_ALIGN); 513d511 < int i=0; 599,606d596 < < if ((int)skb->data & 0x2) { < skb_push(skb, 2); < for (i=0; i<length; i++) { < skb->data[i] = skb->data[i+2]; < } < } < I can now ping in both directions over the USB. If anyone knows of a better way to address this, please let me know otherwise I will go with this. On Mar 14, 8:28 am, bobbark <hey.its.a.g...@gmail.com> wrote: > One more update.. > > After booting everything up this morning, I did not create the fake > ARP entries and ran the pings again. According to Wireshark there was > an ARP message coming from the host and an unknown message coming from > the Droid, but they were identical lengths. After examining the > contents of the messages, the Droid was sending what appeared to be a > valid ARP message as well but it was shifted by 2 bytes - two extra > bytes at the beginning and the last two chopped off. > > On Mar 13, 3:00 pm, bobbark <hey.its.a.g...@gmail.com> wrote: > > > > > Just a little more data... after using arp on the host side and ip on > > the android side to manually add entries, the Destination Host > > Unreachable errors went away but still no ping response. I ran > > Wireshark on the host and the messages from the device are not > > correct. The displayed mac addresses do not look right and the > > protocol is unknown so just displayed as 0x7aab. After looking at the > > actual data in the message it appears that there are two zero bytes > > prepended to the message. If those were removed it looks like > > everything would line up and work. Has anyone ever seen this or know > > where in the code this can be fixed ? > > > On Mar 13, 10:27 am, bobbark <hey.its.a.g...@gmail.com> wrote: > > > > I am trying to get Ethernet over USB working for my Nexus S. I am > > > running Ice Cream Sandwich v4.0.3 and have rebuilt the kernel with USB > > > Gadget support turned on. When I connect the phone to my Linux box and > > > run ifconfig -a, usb0 shows up both on the phone and the Linux box. I > > > run ifconfig to set both sides up and everything looks correct but I > > > cannot ping from either side: > > > > PING 192.168.22.2 (192.168.22.2) 56(84) bytes of data. > > > From 192.168.22.1 icmp_seq=1 Destination Host Unreachable > > > From 192.168.22.1 icmp_seq=2 Destination Host Unreachable > > > > I also have a N900 running Maemo Linux that does allow Ethernet over > > > USB. I compared output of ethtool, ifconfig, route, and arp between > > > the N900 and the Nexus S and all are very similar except the arp > > > output. It shows (incomplete) for the HWaddress for the Android > > > connection: > > > > Address HWtype HWaddress Flags > > > Mask Iface > > > 10.1.3.1 ether 00:1B:17:05:30:13 > > > C eth0 > > > 192.168.22.2 > > > (incomplete) usb0 > > > > "ip neigh show" results in: > > > > 10.1.3.99 dev eth0 lladdr b8:ac:6f:30:6f:ba REACHABLE > > > 192.168.22.2 dev usb0 INCOMPLETE > > > > on the first call and: > > > > 10.1.3.99 dev eth0 lladdr b8:ac:6f:30:6f:ba REACHABLE > > > 192.168.22.2 dev usb0 FAILED > > > > on the second call. > > > > The only other clue I have is that ifconfig shows on the Linux side: > > > > usb0 Link encap:Ethernet HWaddr 66:E4:64:10:D1:A9 > > > inet addr:192.168.22.1 Bcast:192.168.22.255 Mask:255.255.255.0 > > > inet6 addr: fe80::64e4:64ff:fe10:d1a9/64 Scope:Link > > > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > > RX packets:0 errors:0 dropped:0 overruns:0 frame:0 > > > TX packets:42 errors:0 dropped:0 overruns:0 carrier:0 > > > collisions:0 txqueuelen:1000 > > > RX bytes:0 (0.0 b) TX bytes:9039 (8.8 KiB) > > > and on the Android side: > > > > usb0 Link encap:Ethernet HWaddr 7A:78:28:52:9C:A0 > > > inet addr:192.168.22.2 Bcast:192.168.22.255 Mask:255.255.255.0 > > > inet6 addr: fe80::7878:28ff:fe52:9ca0/64 Scope:Link > > > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > > RX packets:202 errors:0 dropped:202 overruns:0 frame:0 > > > TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 > > > collisions:0 txqueuelen:1000 > > > RX bytes:47294 (46.1 KiB) TX bytes:1728 (1.6 KiB) > > > Notice the dropped packets on the Android side. > > > > It seems like I am almost there.. any suggestions?- Hide quoted text - > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - -- unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel