>Number: 161798
>Category: usb
>Synopsis: usbdevs / if_run.c modification
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible:freebsd-usb
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Oct 19 08:00:22 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Zahemszky, Gábor
>Release:8.2-p3 i386
>Organization:
Zahemszky Ltd.
>Environment:
FreeBSD Lappantyu.Zahemszky.hu 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue
Sep 27 18:07:27 UTC 2011
r...@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
>Description:
I bought a wlan adapter for my TV.
I tried it under FreeBSD, but it couldn't recognise it.
So I made my homework, and here is the output.
It is a "Samsung WIS09ABGN Wireless LAN Adapter".
It has Ralink chipset in it, so the if_run and runfw
drivers should work with it.
Here is the info and the usbconfig outputs:
Name: Samsung Wireless LAN Adapter WIS09ABGN (for selected 2009-2011 models of
Samsung TVs & Blu-Ray Players)
Model: WIS09ABGN
Model Code: WIS09ABGNX/XEC
it should work - and it works! - with the if_run & runfw drivers
# usbconfig -d 2.2 dump_device_desc
ugen2.2: <802.11 n WLAN Ralink> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x
bDeviceSubClass = 0x
bDeviceProtocol = 0x
bMaxPacketSize0 = 0x0040
idVendor = 0x04e8
idProduct = 0x2018
bcdDevice = 0x0101
iManufacturer = 0x0001
iProduct = 0x0002 <802.11 n WLAN>
iSerialNumber = 0x0003 <1.0>
bNumConfigurations = 0x0001
# usbconfig -d 2.2 dump_all_config_desc
ugen2.2: <802.11 n WLAN Ralink> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0035
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x
bmAttributes = 0x0080
bMaxPower = 0x00e1
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x
bAlternateSetting = 0x
bNumEndpoints = 0x0005
bInterfaceClass = 0x00ff
bInterfaceSubClass = 0x00ff
bInterfaceProtocol = 0x00ff
iInterface = 0x0005 <1.0>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081
bmAttributes = 0x0002
wMaxPacketSize = 0x0200
bInterval = 0x
bRefresh = 0x
bSynchAddress = 0x
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0001
bmAttributes = 0x0002
wMaxPacketSize = 0x0200
bInterval = 0x
bRefresh = 0x
bSynchAddress = 0x
Endpoint 2
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0002
bmAttributes = 0x0002
wMaxPacketSize = 0x0200
bInterval = 0x
bRefresh = 0x
bSynchAddress = 0x
Endpoint 3
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003
bmAttributes = 0x0002
wMaxPacketSize = 0x0200
bInterval = 0x
bRefresh = 0x
bSynchAddress = 0x
Endpoint 4
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0004
bmAttributes = 0x0002
wMaxPacketSize = 0x0200
bInterval = 0x
bRefresh = 0x
bSynchAddress = 0x
===
This output is with the original if_run and runfw modules.
After it, I made two small changes in the src:
a) added the device info into /usr/src/sys/dev/usb/usbdevs file:
product SAMSUNG WIS09ABGN 0x2018 WIS09ABGN Wireless LAN adapter
b) and added it to the known list of HWs in the
/usr/src/sys/dev/usb/wlan/if_run.c file:
RUN_DEV(SAMSUNG,WIS09ABGN),
unloading the original module, generating the new (with
cd /usrs/src/sys/modules/usb/run
make
commands) and loading it with:
kldload runfw
kldload ./if_run.ko
and voila, the system has a new run0 interface. After it, created the wlan0
interface, started wpa_supplicant and dhclient, and I have a working wifi
connection.
usbconfig -d 2.2 - with the "modified" driver
ugen2.2: <802.11 n WLAN Ralink> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=ON
It is on FreeBSD 8.2-p3 i386.
>How-To-Repeat:
Buy a Samsung-TV wifi dongle, and try it under FreeBSD.
>Fix:
Put the
product SAMSUNG WIS09ABGN 0x2018 WIS09ABGN Wireless LAN adapter
line into usbdevs, and the
RUN_DEV(SAMSUNG,WIS09ABGN),
line into if_run.c. After it, it should work.
>Release-Note:
>Audit-Trail:
>Unformatted:
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mail