OK first, a warning: I'm pretty ignorant of (Arch)linux, bootloaders, kernels, netctl etc ... it's pretty likely that I'll ask really dumb questions. It's also possible this belongs in a more general forum - let me know or just move it if necessary.
I have a Pogoplug Series4/V4 which I am hoping to use as an Airplay/DLNA music player, connected to my living room stereo through a USB sound card and connected to my home network through a Netis WF-2111 Wireless-N USB adapter. The wireless adapter worked pretty much out of the box, and I learned just enough about systemctl, netctl, wifi-menu, wpa_supplicant, shairplay etc to get it connected. But the connection was not stable or fast enough - I could stream audio to it from my phone, but it would play mostly static with occasional 2-3 second bursts of music. (it works fine when connected via ethernet and decently when the unit is right next to the router)
So I read up on my Wireless adapter and found people saying they got big improvements by updating the driver, and amazingly I was able to find a driver package here: https://aur.archlinux.org/packages/dkms-8192cu/. After much more stumbling around I got the new driver to work, but sadly there is no improvement in connection strength or audio streaming. I can hunt around for ways to improve wireless performance (though I'm of course happy for suggestions), but I'm afraid that in all my stumbling I now have a system that's in a weird state, and I don't know enough to diagnose possible problems. I'm just going to fire off some SSH terminal output that I think might be problematic, and see if anyone can tell me whether it's something that needs to be fixed...
$this->bbcode_second_pass_code('', '[root@PogoV4 ~]# netctl list
enp0s1u1-thehuges
eth0
enp0s1u1-thehuges.wifi-menu
')
"thehuges" is my wifi SSID. I don't know if it's OK for there to be 2 profiles there relating to my wireless interface. (enp0s1u1 is my wireless interface - I'm not sure why it got named with an "e" instead of "w" as it was with the first out-of-box driver, or whether that might be causing a problem).
$this->bbcode_second_pass_code('', '[root@PogoV4 ~]# netctl status enp0s1u1-thehuges.wifi-menu
netctl@enp0s1u1\x2dthehuges.wifi\x2dmenu.service - Networking for netctl profile enp0s1u1-thehuges.wifi-menu
Loaded: loaded (/usr/lib/systemd/system/netctl@.service; static)
Active: inactive (dead)
Docs: man:netctl.profile(5)
[root@PogoV4 ~]#
')
I did use wifi-menu while playing around, but I'm not sure if this is just a meaningless artifact or if it is needed.
$this->bbcode_second_pass_code('', '[root@PogoV4 ~]# netctl status enp0s1u1-thehuges
netctl@enp0s1u1\x2dthehuges.service - Automatically generated profile by wifi-menu
Loaded: loaded (/etc/systemd/system/netctl@enp0s1u1\x2dthehuges.service; enabled)
Active: failed (Result: exit-code) since Wed 1969-12-31 16:00:16 PST; 44 years 1 months ago
Docs: man:netctl.profile(5)
Process: 134 ExecStart=/usr/lib/network/network start %I (code=exited, status=1/FAILURE)
Main PID: 134 (code=exited, status=1/FAILURE)
Dec 31 16:00:16 PogoV4 network[134]: Starting network profile 'enp0s1u1-the.....
Dec 31 16:00:16 PogoV4 network[134]: Interface 'wlan0' does not exist
Dec 31 16:00:16 PogoV4 network[134]: Failed to bring the network up for pro...s'
Dec 31 16:00:16 PogoV4 systemd[1]: netctl@enp0s1u1\x2dthehuges.service: mai...RE
Dec 31 16:00:16 PogoV4 systemd[1]: Failed to start Automatically generated ...u.
Dec 31 16:00:16 PogoV4 systemd[1]: Unit netctl@enp0s1u1\x2dthehuges.service...e.
Hint: Some lines were ellipsized, use -l to show in full.
')
...not sure what all the failure reports mean given that it ultimately does connect wirelessly.
The clearest problem is that it takes a couple of minutes to boot - actually, to be clear, it takes 20-30 seconds for the wireless connection to show up on my router, at which point I can ping the device, but then it takes minutes before I can connect to it via SSH.
$this->bbcode_second_pass_code('', '[root@PogoV4 ~]# systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @1min 31.018s
└─multi-user.target @1min 31.011s
└─pogoplug.service @1min 30.709s +294ms
└─network.target @1min 30.678s
└─netctl-auto@enp0s1u1.service @8.368s +2.763s
└─sys-subsystem-net-devices-enp0s1u1.device @8.327s
')
I'm not exactly sure how to read that, but I'm guessing it means that "netctl-auto@enp0s1u1.service" took 2.7 seconds and then "network.target" took about 90 secs.
"ip link" output:
$this->bbcode_second_pass_code('', '[root@PogoV4 ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 00:25:31:05:ea:f4 brd ff:ff:ff:ff:ff:ff
3: enp0s1u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 08:10:77:3b:61:7a brd ff:ff:ff:ff:ff:ff
4: xce0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1350 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 500
link/none
')
I'm not sure if there's anything wrong there - the fact that my wireless interface has "mode DORMANT" is confusing since I was connected to it at the time.
Some questions based on possibly relevant lines from the boot log output (I'll post a longer stretch at the bottom):
...So, questions: does this section:
$this->bbcode_second_pass_code('', '[ 27.657915] [ 27.652941] survey done event(5) band:0 for enp0s1u1
rtw_select_and_join_from_scanned_queue: return _FAIL(candidate == NULL)
[ 27.665588] try_to_join, but select scanning queue fail, to_roaming:0
[ 93.237268] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled')
...indicate that some failure in setting up the wireless card caused a one minute delay? Or that setting up the ethernet port was the delay? Or that because the interface was improperly named starting with an "e", the system is thinking it is an ethernet port and not wireless USB?
And here is the section that indicates the wrong naming:
$this->bbcode_second_pass_code('', '[ 23.299231] usbcore: registered new interface driver rtl8192cu
[ 23.330518] systemd-udevd[91]: renamed network interface wlan0 to enp0s1u1
[ 24.034304] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready')
I don't know if that's something I need to fix.
Here's a longer paste from the log:
$this->bbcode_second_pass_code('', 'usb_endpoint_descriptor(3):
[ 22.931849] bLength=7
[ 22.936218] bDescriptorType=5
[ 22.943486] bEndpointAddress=84
[ 22.953398] wMaxPacketSize=40
[ 22.960360] bInterval=1
[ 22.962928] RT_usb_endpoint_is_int_in = 4, Interval = 1
[ 22.974099] nr_endpoint=4, in_num=2, out_num=2
[ 22.997647] USB_SPEED_HIGH
[ 23.001800] CHIP TYPE: RTL8188C_8192C
[ 23.005491] register rtw_netdev_ops to netdev_ops
[ 23.020202] Chip Version ID: VERSION_NORMAL_TSMC_CHIP_88C.
[ 23.029350] RF_Type is 3!!
[ 23.040312] EEPROM type is E-FUSE
[ 23.047223] ====> ReadAdapterInfo8192C
[ 23.070188] Boot from EFUSE, Autoload OK !
[ 23.107194] random: nonblocking pool is initialized
[ 23.208091] EEPROMVID = 0x0bda
[ 23.211321] EEPROMPID = 0x8176
[ 23.214425] EEPROMCustomerID : 0x00
[ 23.217933] EEPROMSubCustomerID: 0x00
[ 23.221751] RT_CustomerID: 0x00
[ 23.224935] _ReadMACAddress MAC Address from EFUSE = 08:10:77:3b:61:7a
[ 23.231519] EEPROMRegulatory = 0x0
[ 23.235054] _ReadBoardType(0)
[ 23.238059] BT Coexistance = disable
[ 23.241685] mlmepriv.ChannelPlan = 0x00
[ 23.245646] _ReadPSSetting...bHWPwrPindetect(0)-bHWPowerdown(0) ,bSupportRemoteWakeup(0)
[ 23.253781] ### PS params=> power_mgnt(0),usbss_enable(0) ###
[ 23.259621] ### AntDivCfg(0)
[ 23.262667] readAdapterInfo_8192CU(): REPLACEMENT = 1
[ 23.267749] <==== ReadAdapterInfo8192C in 220 ms
[ 23.274397] rtw_macaddr_cfg MAC Address = 08:10:77:3b:61:7a
[ 23.280644] bDriverStopped:1, bSurpriseRemoved:0, bup:0, hw_init_completed:0
[ 23.290239] _rtw_drv_register_netdev, MAC Address (if1) = 08:10:77:3b:61:7a
[ 23.299231] usbcore: registered new interface driver rtl8192cu
[ 23.330518] systemd-udevd[91]: renamed network interface wlan0 to enp0s1u1
[ 24.034304] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 25.623220] cfg80211: Calling CRDA to update world regulatory domain
[ 25.637264] +871x_drv - drv_open, bup=0
[ 25.653541] ===> FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC
[ 25.659803] FirmwareDownload92C accquire FW from embedded image
[ 25.680793] fw_ver=v88, fw_subver=2, sig=0x88c0
[ 25.720125] fw download ok!
[ 25.722933] Set RF Chip ID to RF_6052 and RF type to 1T1R.
[ 26.190461] IQK:Start!!!
[ 26.212641] Path A IQK Success!!
[ 26.232432] Path A IQK Success!!
[ 26.243549] IQK: final_candidate is 0
[ 26.247214] IQK: RegE94=102 RegE9C=c RegEA4=fe RegEAC=2 RegEB4=0 RegEBC=0 RegEC4=0 RegECC=0
Path A IQ Calibration Success !
[ 26.392790] pdmpriv->TxPowerTrackControl = 1
[ 26.413298] rtl8192cu_hal_init in 760ms
[ 26.453370] MAC Address = 08:10:77:3b:61:7a
[ 26.470274] -871x_drv - drv_open, bup=1
[ 26.474463] IPv6: ADDRCONF(NETDEV_UP): enp0s1u1: link is not ready
[ 26.490263] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH!
[ 26.494728] set_mode = IW_MODE_INFRA
[ 26.498637] hw_var_set_opmode()-4234 mode = 2
[ 26.514756] =>rtw_wx_set_essid
[ 26.517815] ssid=g\xffffffc6isQ\xffffffffJ\xffffffec)ͺ\xffffffab\xfffffff2\xfffffffb\xffffffe3F|\xffffffc2T\xfffffff8xffffffe8\xffffffe7\xffffff8dvZ.c3\xffffff9fɚ\xffffff80\xffffffee
\xffffffc7, len=32
[ 26.540083] Set SSID under fw_state=0x00000008
[ 26.544587] <=rtw_wx_set_essid, ret 0
[ 26.600392] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH!
[ 27.652941] survey done event(5) band:0 for enp0s1u1
[ 27.657915] rtw_select_and_join_from_scanned_queue: return _FAIL(candidate == NULL)
[ 27.665588] try_to_join, but select scanning queue fail, to_roaming:0
[ 93.237268] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
[ 93.247127] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 110.205029] hbwd (281): /proc/281/oom_adj is deprecated, please use /proc/281/oom_score_adj instead.
[ 110.503215] tun: Universal TUN/TAP device driver, 1.6
[ 110.508300] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
')
Sorry this post is so long - if anyone can give me some guidance on what I need to address, or whether I'm better off reinstalling everything, or where my ignorance is the most galling, let me know.
thanks for your time/attention/patience...