1 |
>>>>>>>> I'm having a problem starting the USB network interfaces properly on |
2 |
>>>>>>>> one of my systems. I brought the problem to the udev list and they're |
3 |
>>>>>>>> indicating that it's a Gentoo problem: |
4 |
>>>>>>>> |
5 |
>>>>>>>> https://www.mail-archive.com/systemd-devel@×××××××××××××××××.org/msg18840.html |
6 |
>>>>>>>> |
7 |
>>>>>>>> Should I file a bug? |
8 |
>>>>>>>> |
9 |
>>>>>>>> - Grant |
10 |
>>>>>>>> |
11 |
>>>>>>> Like pointed out in the upstream thread, it's either wrongly built |
12 |
>>>>>>> net-misc/dhcpcd (should be with USE="udev") |
13 |
>>>>>>> and if not using dhcpcd, it might be a bug in net-misc/netifrc's |
14 |
>>>>>>> /etc/init.d/net.lo depend() { } section -- |
15 |
>>>>>>> it's possible it's missing dependency that forces /etc/init.d/udev start |
16 |
>>>>>>> first, specially if OpenRC is using parallel |
17 |
>>>>>>> startup |
18 |
>>>>>>> |
19 |
>>>>>>> So not really a udev bug, rather a misconfiguration in dhcpcd USE flags |
20 |
>>>>>>> OR bug in dependencies of netifrc's net.lo script |
21 |
>>>>>> I'm starting two interfaces, one that uses dhcpcd and one that does |
22 |
>>>>>> not. Both fail to start in the default runlevel until they are |
23 |
>>>>>> hotplugged later. I do have dhcpcd built with USE=udev. The string |
24 |
>>>>>> "udev" does not occur in /etc/init.d/net.lo so maybe that's the |
25 |
>>>>>> problem? Please confirm that I should file a Gentoo bug for this. |
26 |
>>>>>> |
27 |
>>>>>> - Grant |
28 |
>>>>>> |
29 |
>>>>> Try adding 'after udev' to net.lo's depend() { } section and see if that |
30 |
>>>>> helps, if it does, file a bug |
31 |
>>>>> saying so. |
32 |
>>>> |
33 |
>>>> I added it like this and rebooted: |
34 |
>>>> |
35 |
>>>> depend() |
36 |
>>>> { |
37 |
>>>> after udev |
38 |
>>>> |
39 |
>>>> but the result was the same. I also have udev and udev-mount in the |
40 |
>>>> sysinit runlevel. |
41 |
>>>> |
42 |
>>>> |
43 |
>>>>> It was more of an educated guess than 100% accurate knowledge. I can't |
44 |
>>>>> think of an another |
45 |
>>>>> way to force netifrc to behave, since it's not coded in C, and it can't |
46 |
>>>>> link to libudev, so... |
47 |
>>>>> |
48 |
>>>>> However since you say *both*, even the one with dhcpcd fail to start, |
49 |
>>>>> before filing that bug, |
50 |
>>>>> see if disabling netifrc hotplugging works: |
51 |
>>>>> |
52 |
>>>>> # ln -s /dev/null /etc/udev/rules.d/90-network.rules |
53 |
>>>> |
54 |
>>>> Will that disable interface renaming or hotplugging? The system with |
55 |
>>>> the issue is remote and if the interfaces aren't renamed or if |
56 |
>>>> hotplugging doesn't happen then I won't be able to access the system |
57 |
>>>> for up to 24 hours. That's fine and I'm happy to test stuff like this |
58 |
>>>> anyway but I don't think this particular test will be informative |
59 |
>>>> because: |
60 |
>>> |
61 |
>>> It will disable the hotplugging, it means you *must* have the net.* |
62 |
>>> stuff added |
63 |
>>> to the default to runlevel yourself, like eg. |
64 |
>>> |
65 |
>>> # rc-update add net.foooooobar default |
66 |
>> |
67 |
>> |
68 |
>> They're in the default runlevel: |
69 |
>> |
70 |
>> # rc-update|grep net.enp |
71 |
>> net.enp0s20u2u1 | default |
72 |
>> net.enp0s20u2u2 | default |
73 |
>> |
74 |
>> I can disable hotplugging with rc_hotplug in rc.conf. Hotplugging is |
75 |
>> actually disabled by default there and my network interfaces won't |
76 |
>> start automatically that way. |
77 |
>> |
78 |
> |
79 |
> Does your kernel have timing info enabled? If so, it would be |
80 |
> interesting to look at your dmesg output. |
81 |
> |
82 |
> My guess is that your kernel is taking a really long time (several |
83 |
> seconds) to initialize your network cards. |
84 |
|
85 |
|
86 |
I have this: |
87 |
|
88 |
# dmesg | grep enp |
89 |
[ 4.297862] systemd-udevd[659]: renamed network interface eth0 to enp0s20u2u1 |
90 |
[ 4.778289] systemd-udevd[660]: renamed network interface eth0 to enp0s20u2u2 |
91 |
[ 6.496193] ax88179_178a 3-2.1:1.0 enp0s20u2u1: ax88179 - Link status is: 1 |
92 |
[ 7.905393] ax88179_178a 3-2.2:1.0 enp0s20u2u2: ax88179 - Link status is: 1 |
93 |
# |
94 |
|
95 |
That doesn't tell us when the network initscripts tried and failed to |
96 |
start but this from /var/log/messages/everything/current shows the |
97 |
first time in the boot sequence that a dependent service failed to |
98 |
start because of the networking failure so it should be before this: |
99 |
|
100 |
[kernel] [ 0.787433] serio: i8042 AUX port at 0x60,0x64 irq 12 |
101 |
[/etc/init.d/unbound] ERROR: cannot start unbound as net.enp0s20u2u1 |
102 |
would not start |
103 |
[kernel] [ 0.792081] rtc_cmos 00:04: alarms up to one month, y3k, |
104 |
242 bytes nvram, hpet irqs |
105 |
|
106 |
- Grant |