Expected issue? Old PowerMac G5 "quad" vs. USB 2.0 devices ( without hw.usb.xhci.use_polling=1 )
Mark Millard
marklmi at yahoo.com
Tue Jul 28 02:47:15 UTC 2020
Context: head -r363590 based context, non-debug build.
Using a couple of USB EtherNet devices (with different
chip set families from different companies), I get
the like of:
usb_alloc_device: set address 2 failed (USB_ERR_TIMEOUT, ignored)
usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored)
usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT
ugen2.2: <Unknown > at usbus2 (disconnected)
uhub_reattach_port: could not allocate new device
when I plug in the device. The one way I've found to avoid that
is to boot using:
hw.usb.xhci.use_polling=1
but this appears to have large performance consequences for
receiving data over the device.
(The only reason I've tried this on a PowerMac G5 is as a test
for a Realtek driver update that John-Mark Gurney has produced
and requested testing of: PowerPC is the only Big Endian type
of context that I have access to. Going the other way, the only
powerpc families that I have access to are in old PowerMacs.
The above is not limited to Realtek chipsets.)
With the forced polling I get (for the device I originally
intended to test with):
ugen2.2: <Realtek USB 10/100/1000 LAN> at usbus2
ure0 numa-domain 0 on uhub2
ure0: <Realtek USB 10/100/1000 LAN, class 0/0, rev 2.10/30.00, addr 2> on usbus2
miibus2: <MII bus> numa-domain 0 on ure0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 0 on miibus2
rgephy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
ue0: <USB Ethernet> on ure0
ue0: Ethernet address: ###
ue0: link state changed to DOWN
and:
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=68009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
ether ###
inet 192.168.1.149 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
I will note that the USB device is USB3 capable but supports
use on USB2 as well. This was also true of the other device
that I tried that had a different chip set.
I do not know if some other types of USB devices also have
such problems on old PowerMacs (or powerpc64 more generally).
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list