Greg Lopp on 8 Feb 2005 23:14:01 -0000 |
Here's the problem: I'm trying to teach a USB device how to look like and behave like a CDC ethernet device (i.e. pass ethernet frames across USB, USB is my datalink layer). I have the "look like" part working, as linux 2.6.10 and windows both recognize my descriptors. I type "ifup usb0" and can pass packets back and forth....up to a point. I can ping in either direction, so ICMP, wrapped inside IP, wrapped inside ethernet works in both directions. But when I fire up ethereal and try wget or ftp to the device, I see linux send a SYN and the device returns it's SYN/ACK, but linux never sends back it's ACK. It sits there, times out and sends its SYN again. When I use strace, the process never returns from connect(). What could possibly be going on here? I've used ethereal and tcpdump to witness the SYN/ACK packet return...so it shouldn't be a problem with my device. Are there any other tools I can use to watch these packets work their way further up the stack? I'd rather not have to hack around in libc.so.6 Have have been inside the usbnet module, but that only covers the DL layer.
___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|