Thread (1 message) 1 message, 1 author, 2011-02-07

Re: [Bugme-new] [Bug 28552] New: ipheth stopped working between 2.6.35.9 and 2.6.36.2

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2011-02-07 23:07:28

(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Mon, 7 Feb 2011 19:24:29 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:
https://bugzilla.kernel.org/show_bug.cgi?id=28552

           Summary: ipheth stopped working between 2.6.35.9 and 2.6.36.2
           Product: Drivers
           Version: 2.5
    Kernel Version: 2.6.36.2
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Network
        AssignedTo: drivers_network@kernel-bugs.osdl.org
        ReportedBy: linux-kernel@jmbreuer.net
        Regression: Yes


Created an attachment (id=46762)
 --> (https://bugzilla.kernel.org/attachment.cgi?id=46762)
tcpdump of iPhone tethering attempt in 2.6.36.2

Overview:

    Internet connection via iPhone 3G ("USB tethering") no longer works in
2.6.36.2; it appears that the packets coming from the iPhone are
misinterpreted.

Steps to Reproduce:

    1) Connect iPhone to computer via USB cable

    2) Put iPhone in "tethering" mode

Actual Results:

    The DHCP client times out trying to obtain a lease.

Expected Results: 

    The computer gets IP information via DHCP, and is able to share the
iPhone's internet connection.

Build Date & Platform: 

    2.6.36.2 on x86_64
    iPhone 3G Firmware 3.1.3

Additional Builds and Platforms:

    2.6.35.9 on x86_64 (same hardware) works as expected.

Additional Information:

    Attached are 2 tcpdump logs:
      2.6.36.2-tcpdump.txt in the failure case
      2.6.35.9-tcpdump.txt, working connection setup

Comparing the DHCP reply at 19:53:36.581403 (works) to 19:05:05.744666 (fails)
it appears that 2.6.36.2 misinterprets the data coming from the iPhone, so that
the failing packet is not recognized as an IP packet / valid DHCP reply.

The change to ipheth.c itself between 2.6.36 and 2.6.35 seems trivial:
http://lxr.free-electrons.com/diff/drivers/net/usb/ipheth.c?v=2.6.35;diffval=2.6.36;diffvar=v

Therefore I'd at first tried copying 2.6.35's ipheth.c into my 2.6.36 tree and
rebuilding this driver; it appears to fail the same as vanilla 2.6.36 does
[sorry, no logs - I can repeat this if required].

This suggests that the failure happens somewhere in either the networking or
USB layer, not the ipheth.c driver itself.

I'm happy to perform any additional testing required.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help