Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Mar 2007 23:10:12 +0000
From:      cvs-src <cvs-src@yandex.ru>
To:        freebsd-usb@freebsd.org
Subject:   [PATCH] Support for various CDMA-2000 USB-modems (Please, consider to commit)
Message-ID:  <45F48C54.4040900@yandex.ru>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070707000702030604050809
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit


Good day.
Some time ago i had post this as PR 109838

(http://www.freebsd.org/cgi/query-pr.cgi?pr=usb/109838)

but there is some problem: when i try to see it, i getting "No PRs
Matched Query" response all of the time, so i decide to post it here.

When we connecting any of this USB-modems/mobile phones (all of them
uses USB-to-COM interface cable):

- 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

and load all the needed modules (ucom/umodem/uplcom), we don't get nor
/dev/ttyU0, nor /dev/cuaU0. So, we can't dialing and get to internet.
All that we have it's a messages from kernel like this:

kernel: ucom0: data interface 1, has CM over data, has break

So, i've add quirks [UQ_ASSUME_CM_OVER_DATA] for all of this
phones/modems and it works well.

How to test:

1. Apply the patch attached

# cp usb_modems.patch /sys/dev/usb/
# cd /sys/dev/usb/
# patch < usb_modems.patch

2. Then rebuild kernel

# cd /usr/src
# make buildkernel && make installkernel && shutdown -r now

3. After reboot, plug in one of those modems.
4. Load needed kernel modules according table located on
http://happy-nation.by.ru/freebsd/cdma2000_modems_eng.pdf (ucom and
umodem are most common) - at this stage you will see that ttyU0 and
cuaU0 appeared in /dev.
5. Create /etc/ppp/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

6. Try to dial

# ppp -ddial skylink

That is all.

Please cc me in the response, because i don't subscribed on freebsd-usb@

--------------070707000702030604050809
Content-Type: text/x-patch;
 name="usb_modems.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="usb_modems.patch"

--- /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 }},

--------------070707000702030604050809--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45F48C54.4040900>