Hello, we are using the FreeBSD network stack in RTEMS (an open source real time operating system). Currently I'm trying to port the most recent version of the rtwn driver (commit e783cd5932 in the github repository). But I ran into some problems.
I have a RT8188CUS based USB device attached to an ATSAMV7 host. The USB host driver is quite new but it seems to work OK with other devices (for example a Ralink RT3070 based WLAN card works fine). I was also able to get mostly the same error on a VirtualBox running a FreeBSD 12 live system (snapshot from 20161117 r308737). With the same live system on real hardware no problem occurred. I identified the following symptoms: - When I try to connect to a network (unencrypted - I haven't ported encryption support yet), I get a lot of "rtwn0: device timout" messages. You can find a full log of the console output on my RTEMS system (with debug messages of the rtwn-driver set to 0xf0) attached to this mail. There are some USB_ERR_IOERROR messages but they don't really correlate with the timeouts. Most of the time, the connection can be established after quite a number of device timeouts and about 5 to 15 minutes. - After the connection is established, I can ping the target and transfer some data. But I have very high packet losses. After a random number of packets, the connection stops working. Normally I can transfer something between 100kByte and 3MByte. On the FreeBSD VM, I had to restart the system afterward. On my RTEMS system, the driver sometimes recovers after some minutes and I can transfer another block of about the same size. Is that a known problem? Is there any experience, how to solve it? Kind Regards, Christian Mauderer
RTEMS Shell on /dev/console. Use 'help' to list commands. [/] # uhub0: 1 port with 1 removable, self powered info: version 6.2.1 starting err: no valid interfaces found warning: no interfaces have a carrier rtwn0: <vendor 0x0bda product 0x8176, class 0/0, rev 2.00/2.00, addr 2> on usbus0 rtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R [/] # sysctl dev.rtwn.0.debug=0xf0 dev.rtwn.0.debug: 0 -> 240 [/] # ifconfig wlan0 create wlandev rtwn0 country DE wlan0: Ethernet address: 00:1d:43:d0:0c:91 rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN info: wlan0: waiting for carrier rtwn0: rtwn_update_slot_cb: setting slot time to 20us rtwn0: rtwn_update_slot_cb: setting slot time to 20us rtwn0: rtwn_update_slot_cb: setting slot time to 20us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH [/] # ifconfig wlan0 ssid grisptest channel 3 wlan0: ieee80211_new_state_locked: pending AUTH -> SCAN transition lost rtwn0: AUTH -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH [/] # ifconfig wlan0 up rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: timeout waiting for checksum report rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> ASSOC rtwn0: ASSOC -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_TIMEOUT (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 8) rtwn0: rtwn_do_request: control request failed, USB_ERR_TIMEOUT (retries left: 7) rtwn0: rtwn_do_request: control request failed, USB_ERR_TIMEOUT (retries left: 6) rtwn0: rtwn_do_request: control request failed, USB_ERR_TIMEOUT (retries left: 5) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 4) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 3) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 2) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 1) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 0) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 8) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> ASSOC rtwn0: device timeout rtwn0: ASSOC -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: timeout waiting for checksum report rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: SCAN -> AUTH rtwn0: AUTH -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> ASSOC rtwn0: device timeout rtwn0: ASSOC -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: device timeout rtwn0: AUTH -> INIT rtwn0: FW V88.2 18-05 23:18 rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_set_multi: MC filter 54000000:40000000 rtwn0: INIT -> SCAN rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: SCAN -> AUTH rtwn0: AUTH -> ASSOC rtwn0: rtwn_update_slot_cb: setting slot time to 9us rtwn0: ASSOC -> RUN rtwn0: rtwn_get_rates: rates 0x0000000F, maxrate 3 rtwn0: rtwn_set_basicrates: rates 0x0000000F notice: wlan0: link state changed to UP rtwn0: rtwn_get_rates: rates 0x000FFFFF, maxrate 19 info: wlan0: carrier acquired info: DUID 00:01:00:01:e9:6d:a3:0d:00:1d:43:d0:0c:91 info: wlan0: IAID 43:d0:0c:91 info: wlan0: soliciting an IPv6 router debug: wlan0: delaying Router Solicitation for LL address debug: wlan0: using hwaddr 00:1d:43:d0:0c:91 info: wlan0: soliciting a DHCP lease debug: wlan0: sending DISCOVER (xid 0x568a21f6), next in %0.1f seconds info: wlan0: offered 192.168.178.22 from 192.168.178.1 debug: wlan0: sending REQUEST (xid 0x568a21f6), next in %0.1f seconds debug: wlan0: acknowledged 192.168.178.22 from 192.168.178.1 debug: wlan0: checking for 192.168.178.22 debug: wlan0: sending ARP probe (1 of 3), next in %0.1f seconds debug: wlan0: sending ARP probe (2 of 3), next in %0.1f seconds debug: wlan0: sending ARP probe (3 of 3), next in %0.1f seconds info: wlan0: leased 192.168.178.22 for 864000 seconds debug: wlan0: renew in 432000 seconds, rebind in 756000 seconds debug: wlan0: adding IP address 192.168.178.22/24 rtwn0: rtwn_set_multi: MC filter d4000000:40000080 info: wlan0: adding host route to 192.168.178.22 via 127.0.0.1 info: wlan0: adding route to 192.168.178.0/24 err: wlan0: ipv4_addroute: File exists info: wlan0: adding default route via 192.168.178.1 debug: wlan0: writing lease `/var/db/dhcpcd-wlan0.lease' debug: wlan0: sending ARP announce (1 of 2), next in 2.0 seconds debug: wlan0: sending ARP announce (2 of 2) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) rtwn0: rtwn_do_request: control request failed, USB_ERR_IOERROR (retries left: 9) [/] #
_______________________________________________ freebsd-wireless@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-wireless To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"