MC7304 connection?

Aleksander Morgado aleksander at aleksander.es
Mon Mar 16 10:45:02 PDT 2015


On Wed, May 21, 2014 at 8:10 PM, Aleksander Morgado
<aleksander at aleksander.es> wrote:
> On Wed, May 21, 2014 at 12:00 PM, Bjørn Mork <bjorn at mork.no> wrote:
>>>> usbmon snooping might also tell us something if the problem really is
>>>> related to framing mismatch.
>>>>
>>>
>>> Will try to see if usbmon helps.
>>
>> Let's hope it gives us some pointers at least.  I'm completely lost now.
>
>
> Ok, so Bjørn spotted in my USB traces that dhclient doesn't even send
> a DHCP request to the interface after it is brought up. Tried with
> dhcpcd instead and I correctly get the interface set up:
>
> $ sudo dhcpcd wwp0s29u1u2i10
> dhcpcd[15711]: version 6.3.2 starting
> dhcpcd[15711]: DUID 00:01:00:01:1a:6a:8d:a3:40:61:86:33:ce:31
> dhcpcd[15711]: wwp0s29u1u2i10: IAID de:91:bc:0f
> dhcpcd[15711]: wwp0s29u1u2i10: soliciting an IPv6 router
> dhcpcd[15711]: wwp0s29u1u2i10: soliciting a DHCP lease
> dhcpcd[15711]: wwp0s29u1u2i10: offered 10.140.112.224 from 10.140.112.225
> dhcpcd[15711]: wwp0s29u1u2i10: leased 10.140.112.224 for 7200 seconds
> dhcpcd[15711]: wwp0s29u1u2i10: adding route to 10.140.112.224/30
> dhcpcd[15711]: wwp0s29u1u2i10: adding default route via 10.140.112.225
> dhcpcd[15711]: forked to background, child pid 15815
>
> $ ip addr
> 46: wwp0s29u1u2i10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
> pfifo_fast state UNKNOWN group default qlen 1000
>     link/ether 92:fa:de:91:bc:0f brd ff:ff:ff:ff:ff:ff
>     inet 10.140.112.224/30 brd 10.140.112.227 scope global wwp0s29u1u2i10
>        valid_lft forever preferred_lft forever
>     inet6 fe80::90fa:deff:fe91:bc0f/64 scope link
>        valid_lft forever preferred_lft forever
>
> Has anyone seen an issue like this one before?

I really like reviving old threads with answers to my own questions! :)

Long story short: dhclient 4.3.1 won't work with network interface
names longer or equal than 14 characters. I'm using systemd's
predictable network interface names feature, and getting a network
interface name like "wwp0s26u1u4u2i8" is pretty common. When trying to
run dhclient on a network interface with a name that long, dhclient
will fail to bind() to the network interface.

It's already fixed in 4.3.2, released some weeks ago. Relevant change
is hidden in this commit below, look for "struct sockaddr_ll". They
now get interface number for the interface name and use that
information for the bind() call, instead of trying to put the
interface name directly in a "struct sockaddr".

https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=blobdiff;f=common/lpf.c;h=99937e6cb794e3ea5776a829c02329f7fc87d098;hp=a63d61ba8e86b13a86f93469213e3fe0b14f4e96;hb=7ff6ae5aa85754119319def3c7f225a40da299c4;hpb=bd49432ff42d9b423319cebe25831f954ab63b81


-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list