Re: usb/161798: usbdevs / if_run.c modification

2011-10-19 Thread Hans Petter Selasky
On Wednesday 19 October 2011 09:51:48 zahems...@freebsd.org, G�bor wrote:
> >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
> 

Committed with some modifications. Thanks for submitting. Will end up in 8-
stable and maybe also 9-stable in a few days.

--HPS
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


usb/161798: usbdevs / if_run.c modification

2011-10-19 Thread Zahemszky

>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