usb/109838: [PATCH] Support for various CDMA-2000 USB-modems

R.Mahmatkhanov R.Mahmatkhanov at SKYLINK.ru
Sun Mar 4 07:00:11 UTC 2007


>Number:         109838
>Category:       usb
>Synopsis:       [PATCH] Support for various CDMA-2000 USB-modems
>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:   Sun Mar 04 07:00:10 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     R.Mahmatkhanov
>Release:        6.2
>Organization:
SkyLink
>Environment:
FreeBSD 6.2-STABLE i386
>Description:
This patch adds out-of-the-box support (via UQ_ASSUME_CM_OVER_DATA quirk) following CDMA-2000 USB-modems: 

- Pantech-Curitel HX-550C
- Pantech-Curitel HX-570B
- Pantech-Curitel HX-575B
- C-MOTECH CNU-550
- Ubiquam U-100
- Ubiquam U-105
- Ubiquam U-200
- RWT FCT-CDMA

When patch is applyed, ttyU0 and cuaU0 devices in /dev will appeared, and we will able use them for dialing. 
>How-To-Repeat:
Plug the any of this modems and check /dev for ttyU0 or cuaU0.
>Fix:
# cp usb_modems.patch /sys/dev/usb/
# cd /sys/dev/usb/
# patch < usb_modems.patch
# cd /usr/src
# make buildkernel && make installkernel && shutdown -r now

Then plug in usb-modem, load needed modules according table located on http://happy-nation.by.ru/freebsd/cdma2000_modems_eng.pdf and use ppp.conf like this (it was taken from http://www.lissyara.su/?id=1311):

# cat /etc/ppp/ppp.conf
default:
        set log Phase Chat LCP IPCP CCP tun command
        disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
        deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
        set speed 115200
        set timeout 160
        enable dns

skylink:
        set device /dev/ttyU0
        set phone \#777
        set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
        \"\" AT OK-AT-OK ATE1Q0 OK \
        \\dATDT\\T TIMEOUT 40 CONNECT"
        set login
        set authname mobile
        set authkey internet
        set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
        add default HISADDR

That is all.

Patch attached with submission follows:

--- /sys/dev/usb/usbdevs	Wed Feb 14 19:57:15 2007
+++ usbdevs	Thu Feb 22 01:20:57 2007
@@ -518,6 +518,7 @@
 vendor IMAGINATION	0x149a	Imagination Technologies
 vendor CONCEPTRONIC	0x14b2	Conceptronic
 vendor SILICONPORTALS	0x1527	Silicon Portals
+vendor UBIQUAM		0x1529	UBIQUAM Co., Ltd.
 vendor PNY		0x154b	PNY
 vendor SOHOWARE		0x15e8	SOHOware
 vendor UMAX		0x1606	UMAX
@@ -770,7 +771,8 @@
 product CHICONY KB8933		0x0001	KB-8933 keyboard
 
 /* CMOTECH products */
-product CMOTECH CDMAMODEM	0x5141	CMOTECH CDMA Technologies USB modem
+product CMOTECH CNU510		0x5141	CMOTECH CDMA Technologies USB modem
+product CMOTECH CNU550		0x5543	CDMA 2000 1xRTT/1xEVDO USB modem
 
 /* Compaq products */
 product COMPAQ PJB100		0x504a	Personal Jukebox PJB100
@@ -806,6 +808,8 @@
 product CTX EX1300		0x9999	Ex1300 hub
 
 /* Curitel products */
+product CURITEL HX550C		0x1101	CDMA 2000 1xRTT USB modem (HX-550C)
+product CURITEL HX57XB		0x2101	CDMA 2000 1xRTT USB modem (HX-570/575B)
 product CURITEL PC5740		0x3701	Broadband wireless modem
 
 /* Cypress Semiconductor products */
@@ -1444,6 +1448,7 @@
 product PUTERCOM UPA100		0x047e	USB-1284 BRIDGE
 
 /* Qualcomm products */
+product QUALCOMM RWT_FCT        0x3100  RWT FCT-CDMA 2000 1xRTT modem
 product QUALCOMM CDMA_MSM	0x3196	CDMA Technologies MSM modem
 product QUALCOMM2 CDMA_MSM	0x6000	CDMA Technologies MSM phone
 
@@ -1652,6 +1657,9 @@
 
 /* TwinMOS */
 product TWINMOS MDIV		0x1325	Memory Disk IV
+
+/* Ubiquam products */
+product UBIQUAM UALL		0x3100	CDMA 1xRTT USB Modem (U-100/105/200/300)
 
 /* Ultima products */
 product ULTIMA 1200UBPLUS	0x4002	1200 UB Plus scanner
--- /sys/dev/usb/usb_quirks.c	Mon Jan 22 17:57:30 2007
+++ usb_quirks.c	Thu Feb 22 01:17:08 2007
@@ -80,7 +80,12 @@
  { USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE,
    						    0x100, { UQ_AU_INP_ASYNC }},
  { USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN53B, ANY, { UQ_NO_STRINGS }},
- { USB_VENDOR_CMOTECH, USB_PRODUCT_CMOTECH_CDMAMODEM, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_CMOTECH, USB_PRODUCT_CMOTECH_CNU510, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_CMOTECH, USB_PRODUCT_CMOTECH_CNU550, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_HX550C, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_HX57XB, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_UBIQUAM, USB_PRODUCT_UBIQUAM_UALL, ANY, { UQ_ASSUME_CM_OVER_DATA }},
+ { USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_RWT_FCT, ANY, { UQ_ASSUME_CM_OVER_DATA }},
  /* XXX These should have a revision number, but I don't know what they are. */
  { USB_VENDOR_HP, USB_PRODUCT_HP_895C,		    ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_HP, USB_PRODUCT_HP_880C,		    ANY,   { UQ_BROKEN_BIDIR }},

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


More information about the freebsd-usb mailing list