Hi, pingtoo. It looks like those config changes made the difference... one remaining question about dhcpcd command syntax in it use in /etc/conf.d/net (near the bottom). Pardon the "storytelling" getting to that bottom line.
I suggest use one line
Code: Select all
# cfg80211 + mac80211
softdep wl pre: lib80211 lib80211_crypt_tkip lib80211_crypt_ccmp
manually bring up the eth3 like you did before and verify that it is actually use ccmp as opposite to tkip, I mean one connected, you should have ccmp module loaded.
Stop wpa_supplicant or dhcpcd if in use with eth3; unblock rfkill if needed…
Code: Select all
# ps -aef | grep wpa
### <nothing>
# ps -aef | grep dhcp
root 2926 1 0 Nov12 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6] ### leaving this alone, for eth0
# rfkill list | grep -A3 -i wireless
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: brcmwl-0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: phy1: Wireless LAN
Soft blocked: no
Hard blocked: no
### nothing to unblock
Bring up eth3 and then start wpa_supplicant for it –
Code: Select all
# ifconfig eth3 up
# ifconfig eth3
eth3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::5627:1eff:xxxx:nnnn prefixlen 64 scopeid 0x20<link>
# INTERFACE=eth3; DRIVER=nl20211
# wpa_supplicant -D${DRIVER} -i${INTERFACE} -c /etc/wpa_supplicant/wpa_supplicant.conf -B >/dev/null
# ifconfig eth3
eth3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::5627:1eff:xxxx:nnnn prefixlen 64 scopeid 0x20<link>
# lsmod
Module Size Used by
iwlmvm 348160 0
mac80211 950272 1 iwlmvm
wl 6369280 0
iwlwifi 307200 1 iwlmvm
lib80211_crypt_tkip 16384 0
lib80211 16384 1 lib80211_crypt_tkip
cfg80211 892928 4 wl,iwlmvm,iwlwifi,mac80211
# dhcpcd ${INTERFACE} -t 30
dhcpcd-10.0.3 starting
DUID 00:01:00:01:2c:cd:73:cd:10:c3:7b:95:23:90
eth3: connected to Access Point:
eth3: IAID 1e:ef:96:b5
eth3: soliciting an IPv6 router
ipv6nd_sendrsprobe: Operation not permitted
eth3: soliciting a DHCP lease
ipv6nd_sendrsprobe: Operation not permitted
eth3: probing for an IPv4LL address
ipv6nd_sendrsprobe: Operation not permitted
eth3: using IPv4LL address 169.254.246.35
eth3: adding route to 169.254.0.0/16
eth3: adding default route
Got only ipv4LL address. Try again with wext –
Code: Select all
# ps -aef | grep wpa
### <nothing>
# ps -aef | grep dhcpcd
root 2926 1 0 Nov12 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6]
root 7752 1 0 18:05 ? 00:00:00 dhcpcd: eth3 [ip4] [ip6]
# kill -9 7752 ### killing, to restart, but note that this shows it started, but no dhcpcd-eth3.log
# ps -aef | grep dhcpcd
root 2926 1 0 Nov12 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6]
# rfkill list | grep -A3 -i wireless
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: brcmwl-0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: phy1: Wireless LAN
Soft blocked: no
Hard blocked: no
# ifconfig eth3 down
# ifconfig eth3
eth3: flags=4098<BROADCAST,MULTICAST> mtu 1500
inet 169.254.246.35 netmask 255.255.0.0 broadcast 169.254.255.255
# ifconfig eth3 up
# ifconfig eth3
eth3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.246.35 netmask 255.255.0.0 broadcast 169.254.255.255
# DRIVER=wext
# wpa_supplicant -D${DRIVER} -i${INTERFACE} -c /etc/wpa_supplicant/wpa_supplicant.conf -B >/dev/null
# dhcpcd ${INTERFACE} -t 30
dhcpcd-10.0.3 starting
DUID 00:01:00:01:2c:cd:73:cd:10:c3:7b:95:23:90
eth3: connected to Access Point: <myssid>
eth3: IAID 1e:ef:96:b5
eth3: adding address fe80::b3e0:d7ed:xxxx:nnnn
eth3: soliciting an IPv6 router
eth3: soliciting a DHCP lease
ipv6nd_sendrsprobe: Operation not permitted
eth3: offered 192.168.xxx.nnn from 192.168.xxx.zzz <vendor url>
eth3: ignoring offer of 192.168.xxx.nnn from 192.168.xxx.zzz <vendor url>
eth3: probing address 192.168.xxx.nnn/24
ipv6nd_sendrsprobe: Operation not permitted
ipv6nd_sendrsprobe: Operation not permitted
eth3: leased 192.168.xxx.nnn for 86400 seconds
eth3: adding route to 192.168.xxx.0/24
eth3: adding default route via 192.168.xxx.zzz
# lsmod
Module Size Used by
iwlmvm 348160 0
mac80211 950272 1 iwlmvm
wl 6369280 0
iwlwifi 307200 1 iwlmvm
lib80211_crypt_tkip 16384 0
lib80211 16384 1 lib80211_crypt_tkip
cfg80211 892928 4 wl,iwlmvm,iwlwifi,mac80211
So – it works manually for wext, not nl80211; and no ccmp module loaded, even once connected
As for logs –
Code: Select all
# tail /var/log/wpa_supplicant.log
eth3: CTRL-EVENT-SCAN-FAILED ret=-22 retry=1
eth3: CTRL-EVENT-SCAN-FAILED ret=-22 retry=1
eth3: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
eth3: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=US
eth3: CTRL-EVENT-DSCP-POLICY clear_all
eth3: CTRL-EVENT-DSCP-POLICY clear_all
nl80211: deinit ifname=eth3 disabled_11b_rates=0
eth3: CTRL-EVENT-TERMINATING
### still no dhcpcd-eth3.log to be found
# touch /var/log/dhcpcd-eth3.log
# ls -al /var/log/dhcpcd-eth3.log
-rw-r--r-- 1 root root 0 Nov 13 18:24 /var/log/dhcpcd-eth3.log
# ps -aef | grep dhcpcd
root 2926 1 0 Nov12 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6]
root 8141 1 0 18:14 ? 00:00:00 dhcpcd: eth3 [ip4] [ip6]
# kill -9 8141
# ps -aef | grep dhcpcd
root 2926 1 0 Nov12 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6]
# ps -aef | grep wpa
root 8138 1 0 18:14 ? 00:00:00 wpa_supplicant -Dwext -ieth3 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
# kill -9 8138
# ps -aef | grep wpa
### <nothing>
# ifconfig eth3 down; ifconfig eth3 up
# ifconfig eth3 up
# wpa_supplicant -D${DRIVER} -i${INTERFACE} -c /etc/wpa_supplicant/wpa_supplicant.conf -B >/dev/null
# dhcpcd ${INTERFACE} -t 30
dhcpcd-10.0.3 starting
DUID 00:01:00:01:2c:cd:73:cd:10:c3:7b:95:23:90
eth3: connected to Access Point: <myssid>
eth3: IAID 1e:ef:96:b5
eth3: adding address fe80::b3e0:d7ed:xxxx:nnnn
eth3: rebinding lease of 192.168.xxx.nnn
eth3: leased 192.168.xxx.nnn for 86400 seconds
eth3: adding route to 192.168.xxx.0/24
eth3: adding default route via 192.168.xxx.zzz
# ls -al /var/log/dhcpcd-eth3.log
-rw-r--r-- 1 root root 0 Nov 13 18:24 /var/log/dhcpcd-eth3.log
# cat /var/log/dhcpcd-eth3.log
### note: tail of wpa_supplicant.log has also not changed
so for the first case please verify if dhcpcd for eth3 interface is actually running and for second case please touch /var/log/dhcpcd-eth3.log to create the file before start.
So – yes running; no dhcpcd log, even after creating with touch first…
Lastly, I also added -Dwext to /etc/conf.d/net, killed wpa_supplicant and dhcpcd processes for eth3, and restarted with /etc/init.d/net.eth3 –
Code: Select all
# nano /etc/conf.d/net
…
# Extra wifi via on-board bcm4352 (wl.ko)
modules_eth3="wpa_supplicant"
config_eth3="dhcp"
# nodns -- disable overwrite /etc/resolv.conf (i.e. not calling hook resolv.conf)
dhcp_eth3="nodns"
# --nohook wpa_supplicant -- Not calling dhcpcd hook script /usr/share/dhcpcd/hooks/10-wpa_suppli>
# --timeout 10 -- wait for 10 seconds for ip address, otherwise fail startup.
# --ipv4only -- just get IPv4 address, no IPv6 request send out.
dhcpcd_eth3="--timeout 10 --ipv4only --nohook wpa_supplicant -j /var/log/dhcpcd-eth3.log -d"
# Add -d if you wish to see more debug information
wpa_supplicant_eth3="-Dwext -f /var/log/wpa_supplicant.log"
…
# ps -aef | grep wpa
# kill -9 8898
# ps -aef | grep dhcpcd
# kill -9 8901
###--------[ here is the dhcpcd log now ]----------------------------------------
# /etc/init.d/net.3th3 start
# cat dhcpcd-eth3.log
Nov 13 18:44:26 [9885]: dhcpcd-10.0.3 starting
Nov 13 18:44:26 [9887]: spawned manager process on PID 9887
Nov 13 18:44:26 [9887]: DUID 00:01:00:01:2c:cd:73:cd:10:c3:7b:95:23:90
Nov 13 18:44:26 [9887]: eth3: executing: /lib/dhcpcd/dhcpcd-run-hooks PREINIT
Nov 13 18:44:26 [9887]: eth3: connected to Access Point: <myssid>
Nov 13 18:44:26 [9887]: eth3: executing: /lib/dhcpcd/dhcpcd-run-hooks CARRIER
Nov 13 18:44:26 [9887]: eth3: IAID 1e:ef:96:b5
Nov 13 18:44:26 [9887]: eth3: delaying IPv4 for 1.6 seconds
Nov 13 18:44:27 [9887]: eth3: reading lease: /var/lib/dhcpcd/eth3-<myssid>.lease
Nov 13 18:44:27 [9887]: eth3: rebinding lease of 192.168.xxx.nnn
Nov 13 18:44:27 [9887]: eth3: ARP announcing 192.168.xxx.nnn (1 of 2), next in 2.0 seconds
Nov 13 18:44:27 [9887]: eth3: sending REQUEST (xid 0xb7f68bdd), next in 3.3 seconds
Nov 13 18:44:27 [9887]: eth3: acknowledged 192.168.xxx.nnn from 192.168.xxx.zzz ecosystem.home.cisco.com
Nov 13 18:44:27 [9887]: eth3: leased 192.168.xxx.nnn for 86400 seconds
Nov 13 18:44:27 [9887]: eth3: renew in 43200 seconds, rebind in 75600 seconds
Nov 13 18:44:27 [9887]: eth3: writing lease: /var/lib/dhcpcd/eth3-<myssid>.lease
Nov 13 18:44:27 [9887]: eth3: adding IP address 192.168.xxx.nnn/24 broadcast 192.168.7.255
Nov 13 18:44:27 [9887]: eth3: adding route to 192.168.xxx.0/24
Nov 13 18:44:27 [9887]: eth3: adding default route via 192.168.xxx.zzz
Nov 13 18:44:27 [9887]: eth3: ARP announcing 192.168.xxx.nnn (1 of 2), next in 2.0 seconds
Nov 13 18:44:27 [9887]: eth3: executing: /lib/dhcpcd/dhcpcd-run-hooks REBOOT
Nov 13 18:44:29 [9887]: eth3: ARP announcing 192.168.xxx.nnn (2 of 2)
###-----[ and here is the wpa_supplicant.log ]-----------------------------------------------
# tail -n100 /var/log/wpa_supplicant.log
>>>
eth3: CTRL-EVENT-SCAN-FAILED ret=-22 retry=1
eth3: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
eth3: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=US
eth3: CTRL-EVENT-DSCP-POLICY clear_all
eth3: CTRL-EVENT-DSCP-POLICY clear_all
nl80211: deinit ifname=eth3 disabled_11b_rates=0
eth3: CTRL-EVENT-TERMINATING
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
eth3: Trying to associate with c4:41:1e:xx:yy:zz (SSID='<mysid>' freq=<myfreq> MHz)
eth3: Associated with c4:41:xx:yy:zz
eth3: WPA: Key negotiation completed with c4:41:xx:yy:zz [PTK=CCMP GTK=CCMP]
eth3: CTRL-EVENT-CONNECTED - Connection to c4:41:xx:yy:zz completed [id=0 id_str=]
eth3: WPA: Group rekeying completed with c4:41:xx:yy:zz [GTK=CCMP]
Note: ccpm still doesn’t show up in lsmod, but clearly from above, ccmp was used
Now after rebooting with these configuration changes –
Code: Select all
# ifconfig
### eth3 not shown
# ifconfig eth3
eth3: flags=4098<BROADCAST,MULTICAST> mtu 1500
…
# ps -aef | grep -i 'dhcpcd\|wpa_supplicant'
root 2927 1 0 18:56 ? 00:00:00 dhcpcd: eth0 [ip4] [ip6]
# /etc/init.d/net.eth3 start
* Bringing up interface eth3
* Caching network module dependencies
* Starting wpa_supplicant on eth3 ... [ ok ]
* Starting wpa_cli on eth3 ... [ ok ]
* Backgrounding ... ...
* WARNING: net.eth3 has started, but is inactive
### both log files have new entries identical to above
This looks good, but I noticed it associated with a second ssid from wpa_supplicant.conf, that I had intended to remove. So I added “disabled=1” to that network { } section, and restarted the interface –
Code: Select all
# /etc/init.d/net.eth3 restart
* Bringing down interface eth3
* Stopping dhcpcd on eth3 ...
dhcpcd: unrecognized option '--timeout 10 --ipv4only --nohook wpa_supplicant -j /var/log/dhcpcd-eth3.log -d'
usage: dhcpcd [-146ABbDdEGgHJKLMNPpqTV]
[-C, --nohook hook] [-c, --script script]
[-e, --env value] [-F, --fqdn FQDN] [-f, --config file]
[-h, --hostname hostname] [-I, --clientid clientid]
[-i, --vendorclassid vendorclassid] [-j, --logfile logfile]
[-l, --leasetime seconds] [-m, --metric metric]
[-O, --nooption option] [-o, --option option]
[-Q, --require option] [-r, --request address]
[-S, --static value]
[-s, --inform address[/cidr[/broadcast_address]]]
[--inform6] [-t, --timeout seconds] [-u, --userclass class]
[-v, --vendor code, value] [-W, --whitelist address[/cidr]] [-w]
[--waitip [4 | 6]] [-y, --reboot seconds]
[-X, --blacklist address[/cidr]] [-Z, --denyinterfaces pattern]
[-z, --allowinterfaces pattern] [--inactive] [interface] [...]
dhcpcd -n, --rebind [interface]
dhcpcd -k, --release [interface]
dhcpcd -U, --dumplease interface
dhcpcd --version
dhcpcd -x, --exit [interface] [ ok ]
* Stopping wpa_cli on eth3 ... [ ok ]
* Stopping wpa_supplicant on eth3 ... [ ok ]
* Bringing up interface eth3
* Starting wpa_supplicant on eth3 ... [ ok ]
* Starting wpa_cli on eth3 ... [ ok ]
* Backgrounding ... ...
* WARNING: net.eth3 has started, but is inactive
Evidently, there is a typo of some sort in /etc/conf.d/net that was overlooked until restart. Based on “man dhcpcd, I suspect the “–nohook wpa_supplicant” part??
I also put eth3 back in the default runlevel and rebooted to test that with the new configuration, and it looks good
Code: Select all
# rc-status
Runlevel: default
net.br0 [ started ]
net.eth0 [ started ]
net.eth1 [ started ]
net.eth3 [ started ]
# dmesg | grep 'wl:\|eth3\|cfg80211\|bcm'
…
[ 28.305176] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 28.306801] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 28.320632] wl: loading out-of-tree module taints kernel.
[ 28.320636] wl: module license 'MIXED/Proprietary' taints kernel.
[ 28.340895] eth3: Broadcom BCM43b1 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)