Identifying unknown hardware a Pi running FreeBSD

I've been building FreeBSD-CURRENT images for my Pi, and I've noticed I have this:

ugen0.5: <vendor 0x7392> at usbus0

So, it turns out I have one of these plugged in, and it seems likely that the unknown USB device is ugen0.5.  So firstly, there is the question of "ugen".  You can read about it here.  Essentially when FreeBSD finds a USB device it doesn't have a specific driver for, it assigns it the ugen driver.   In my case, the driver is attached to device 0, endpoint 5.

To get more info, I can use usbconfig.

root@raspberry-pi:/home/tom # usbconfig -d ugen0.5 dump_info
ugen0.5: <product 0x7811 vendor 0x7392> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

The product code noted in by usbconfig, is 0x7811, which matches with the Edimax 7811.

So to find out what "vendor 0x7392" is, I used http://usb-ids.gowdy.us/index.html. If you search in this file, you'll find this:

7392  Edimax Technology Co., Ltd
	7711  EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
	7717  EW-7717UN 802.11n Wireless Adapter [Ralink RT2870]
	7718  EW-7718UN 802.11n Wireless Adapter [Ralink RT2870]
	7722  EW-7722UTn 802.11n Wireless Adapter [Ralink RT307x]
	7811  EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

So, my device "ugen0.5" is the Edimax EW-7811Un.  It uses a Realtek  RTL8188CUS chipset.   Some Edimax devices are supported by the rum driver, but that driver appears to support the Ralink chipset, rather than Realtek.  If FreeBSD did support this chipset, it might be more likely to be supported by the urtw driver.  The man page doesn't mention the 8188CUS Realtek chipset, however.

In fact, you can look at the source for the WLAN USB drivers in FreeBSD here and you will find the source for the urtw driver here.  It supports the RTL 8187B.

If you take a look in /sys/dev/usb/usbdevs, you will see a list of the USB devices FreeBSD knows about.  There are some Edimax devices, and the 7811 is listed:

/* Edimax products */
1556 product EDIMAX EW7318USG 0x7318 USB Wireless dongle
1557 product EDIMAX RT2870_1 0x7711 RT2870
1558 product EDIMAX EW7717 0x7717 EW-7717
1559 product EDIMAX EW7718 0x7718 EW-7718
1560 product EDIMAX EW7811UN 0x7811 EW-7811Un

So, it appears that FreeBSD knows that it's a ED7811UN, but RTL8188 chipset is not supported.

Leave a Reply