kern/66144: [PATCH] Support SUNTAC U-Cable type A4 (AS144L4) for uvscom(4)

Hideyuki KURASHINA rushani at FreeBSD.org
Sat May 1 06:20:10 PDT 2004


>Number:         66144
>Category:       kern
>Synopsis:       [PATCH] Support SUNTAC U-Cable type A4 (AS144L4) for uvscom(4)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 01 06:20:09 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Hideyuki KURASHINA
>Release:        FreeBSD 5.2.1-RELEASE-p4 i386
>Organization:
>Environment:

	System: FreeBSD ****.*******.jp 5.2.1-RELEASE-p4 FreeBSD 5.2.1-RELEASE-p4 #0: Tue Mar 30 16:53:51 JST 2004 hideyuki@****.*******.jp:/usr/obj/usr/src/sys/*** i386

	Hardware: SUNTAC U-Cable type A4 (AS144L4)
		  http://www.sun-denshi.co.jp/scc/products/mobile/as144l4/as144l4.htm (in Japanese)

>Description:

	When AS144L4 is connected to the system, kernel outputs following
	messages.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
usbd_new_device bus=0xc2921000 port=1 depth=1 speed=2
usbd_new_device: adding unit addr=2, rev=110, class=0, subclass=0, protocol=0, maxpacket=8, len=18, speed=2
usbd_new_device: new dev (addr 2), dev=0xc2d2dd80, parent=0xc2918900
usbd_probe_and_attach: trying device specific drivers
usbd_probe_and_attach: no device specific driver found
usbd_probe_and_attach: looping over 1 configurations
usbd_set_config_index: (addr 1) cno=2 attr=0x80, selfpowered=0, power=100
usbd_set_config_index: set config 1
usbd_probe_and_attach: no interface drivers found
ugen0: Sun Corporation SCC div. SUNTAC U-Cable x, rev 1.10/1.20, addr 2
usbd_set_config_index: free old config
usbd_set_config_index: (addr 1) cno=2 attr=0x80, selfpowered=0, power=100
usbd_set_config_index: set config 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	Also, usbdevs(8) with -v option does following ones.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), SiS(0x0000), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), SiS(0x0000), rev 1.00
 port 1 addr 2: full speed, power 100 mA, config 1, SUNTAC U-Cable x(0x0011), Sun Corporation SCC div.(0x05db), rev 1.20
 port 2 powered
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	Another informatino from ports/sysutils/udesc_dump as follows.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Standard Device Descriptor:
  bLength            18
  bDescriptorType    01
  bcdUSB             0110
  bDeviceClass       00
  bDeviceSubClass    00
  bDeviceProtocol    00
  bMaxPacketSize     8
  idVendor           05db
  idProduct          0011
  bcdDevice          0120
  iManufacturer      1
  iProduct           2
  iSerialNumber      0
  bNumConfigurations 1

Configuration 0:
	Standard Configuration Descriptor:
	  bLength             9
	  bDescriptorType     02
	  wTotalLength        39
	  bNumInterface       1
	  bConfigurationValue 1
	  iConfiguration      0
	  bmAttributes        80
	  bMaxPower           50 (100 mA)

	Standard Interface Descriptor:
	  bLength            9
	  bDescriptorType    04
	  bInterfaceNumber   0
	  bAlternateSetting  0
	  bNumEndpoints      3
	  bInterfaceClass    ff
	  bInterfaceSubClass 00
	  bInterfaceProtocol 00
	  iInterface         0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 81 (in)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   64
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 02 (out)
	  bmAttributes     02 (Bulk)
	  wMaxPacketSize   64
	  bInterval        0

	Standard Endpoint Descriptor:
	  bLength          7
	  bDescriptorType  05
	  bEndpointAddress 83 (in)
	  bmAttributes     03 (Interrupt)
	  wMaxPacketSize   8
	  bInterval        4

Codes Representing Languages by the Device:
  bLength          4
  bDescriptorType  03
  wLANGID[0]       0409

String (index 1): Sun Corporation SCC div.

String (index 2): SUNTAC U-Cable x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	Fortunately, AS144L4 works by adding its information to uvscom_devs.

>How-To-Repeat:



>Fix:

	1. Apply following patch, then re-generate usbdevs.h and usbdevs_data
	   at /sys/dev/usb/.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Index: usbdevs
===================================================================
RCS file: /cvsroot/FreeBSD/src/sys/dev/usb/usbdevs,v
retrieving revision 1.143
diff -u -r1.143 usbdevs
--- usbdevs	16 Nov 2003 12:05:11 -0000	1.143
+++ usbdevs	1 May 2004 12:41:51 -0000
@@ -1148,6 +1148,7 @@
 product	SUNTAC IS96U		0x000a	SUNTAC Ir-Trinity
 product SUNTAC PS64P1		0x0005	SUNTAC U-Cable type P1
 product SUNTAC VS10U		0x0009	SUNTAC Slipper U
+product	SUNTAC AS144L4		0x0011	SUNTAC U-Cable type A4
 
 /* Sun Microsystems products */
 product SUN KEYBOARD		0x0005	Type 6 USB keyboard

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	2. Append information of AS144L4.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Index: uvscom.c
===================================================================
RCS file: /cvsroot/FreeBSD/src/sys/dev/usb/uvscom.c,v
retrieving revision 1.19
diff -u -r1.19 uvscom.c
--- uvscom.c	16 Nov 2003 12:26:10 -0000	1.19
+++ uvscom.c	1 May 2004 12:44:51 -0000
@@ -218,6 +218,8 @@
 };
 
 static const struct usb_devno uvscom_devs [] = {
+	/* SUNTAC U-Cable type A4 */
+	{ USB_VENDOR_SUNTAC, USB_PRODUCT_SUNTAC_AS144L4 },
 	/* SUNTAC U-Cable type D2 */
 	{ USB_VENDOR_SUNTAC, USB_PRODUCT_SUNTAC_DS96L },
 	/* SUNTAC Ir-Trinity */

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	3. Unload related usb modules, and then re-compile & load them.

	4. You will get following messages (I confirmed this device works
	   well by ppp(8)'ing to au.NET).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
usbd_new_device bus=0xc2921000 port=1 depth=1 speed=2
usbd_new_device: adding unit addr=2, rev=110, class=0, subclass=0, protocol=0, maxpacket=8, len=18, speed=2
usbd_new_device: new dev (addr 2), dev=0xc2c2ab80, parent=0xc2918900
usbd_probe_and_attach: trying device specific drivers
ucom0: Sun Corporation SCC div. SUNTAC U-Cable x, rev 1.10/1.20, addr 2
usbd_set_config_index: (addr 1) cno=2 attr=0x80, selfpowered=0, power=100
usbd_set_config_index: set config 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	Any comments/suggestions are welcome.

	Regards,

	-- rushani
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list