# Cannot get ASUS USB-N13 to work on FreeBSD 9.0



## penna (May 15, 2012)

I am trying to configure a USB wireless adapter (ASUS USB-N13) on my system:
`%  uname -prsi`

```
FreeBSD 9.0-RELEASE-p1 amd64 GENERIC
```

From the hardware notes, this adapter is supported by the run(4) driver. I followed the instructions in the man pages (run(4)) and added the following lines in loader.conf.

```
if_run_load="YES"
runfw_load="YES"
```

After system reboot, I plug-in the adapter in the USB hub/port. The following are the messages in /var/log/messages:

```
kernel: ugen4.2: <vendor 0x0b05> at usbus4
root: Unknown USB device: vendor 0x0b05 product 0x17ab bus uhub4
```

I checked whether the run(4) has been loaded or not.
`% kldstat`

```
Id Refs Address            Size     Name
 1   17 0xffffffff80200000 11d1d48  kernel
 2    1 0xffffffff813d2000 203d98   zfs.ko
 3    2 0xffffffff815d6000 5c60     opensolaris.ko
 5    1 0xffffffff815f2000 2e28     runfw.ko    <<-----------
 6    1 0xffffffff81812000 c19c     ipfw.ko
 7    1 0xffffffff8181f000 a2d      fire_saver.ko
```
`% ifconfig`

```
ale0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
	ether 48:5b:39:94:b2:16
	inet 172.26.146.109 netmask 0xffffff00 broadcast 172.26.146.255
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 
	inet 127.0.0.1 netmask 0xff000000 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	inet6 fe80::4a5b:39ff:fe94:b216%tun0 prefixlen 64 scopeid 0xa 
	inet 172.26.61.146 --> 172.26.61.145 netmask 0xffffffff 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	Opened by PID 1532
```
The WLAN device pertaining to run(4) is not listed. Don't know how to proceed from here. Please help!


----------



## penna (May 16, 2012)

Another information that might be helpful.
`# pciconf -lv | grep -B3 network`

```
ale0@pci0:1:0:0:	class=0x020000 card=0x83041043 chip=0x10261969 rev=0xb0 hdr=0x00
    vendor     = 'Atheros Communications'
    device     = 'AR8121/AR8113/AR8114 Gigabit or Fast Ethernet'
    class      = network
```
`# usbconfig -u 4 -a 2 dump_device_desc`

```
ugen4.2: <product 0x17ab vendor 0x0b05> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0b05 
  idProduct = 0x17ab 
  bcdDevice = 0x0200 
  iManufacturer = 0x0001  <Realtek>
  iProduct = 0x0002  <802.11n WLAN Adapter>
  iSerialNumber = 0x0003  <00e04c000001>
  bNumConfigurations = 0x0001
```


----------



## PseudoCylon (May 16, 2012)

penna said:
			
		

> ```
> kernel: ugen4.2: <vendor 0x0b05> at usbus4
> root: Unknown USB device: vendor 0x0b05 product 0x17ab bus uhub4
> ```



It is most likely a new version. (How to check version)

run(4) supports version A1. Yours looks like version B1 comes with Realtek chips. As far as I know, it hasn't been supported by FreeBSD. Return the device for refunds if possible.


----------



## penna (May 17, 2012)

PseudoCylon said:
			
		

> It is most likely a new version. (How to check version)
> 
> run(4) supports version A1. Yours looks like version B1 comes with Realtek chips. As far as I know, it hasn't been supported by FreeBSD. Return the device for refunds if possible.



I checked the hardware version; it is B1 indeed. Anyhow, I have the linux driver for the device; Is it possible to use the linux driver through devel/linux-kmod-compat port? If yes, how do I go about it? I checked this link which has really scarce documentation about the devel/linux-kmod-compat port. I also tried using the WinXP64 driver through ndisgen(8) but cannot get it to work. (I did build the kernel module with the firmware files that come with the driver). It gives the following messages (from /var/log/messages).

```
kernel: no match for ZwWriteFile
kernel: no match for ZwCreateFile
kernel: no match for ZwReadFile
```


----------



## PseudoCylon (May 18, 2012)

The short answer is I don't know. I don't even have any device with Realtek chipset.



			
				penna said:
			
		

> Is it possible to use the linux driver through devel/linux-kmod-compat port?


Based on





> What remains to do is some cleanup of the locking, and add support for BULK and other transfer types as the need arises.


you will be luckier with ndisgen(8). BULK transfer is what the device uses.



			
				penna said:
			
		

> (I did build the kernel module with the firmware files that come with the driver).


Forget about runfw(4). Even though ver. A1 and B1 appear the same and name are the same, they use different chipsets from different companies. They are totally different devices. I don't have any experience using ndisgen(8), so hopfully some other forum members can help you out.


----------

