Главное меню
Ссылки
информация здесь
подробности на сайте vd-tv.ru
RSS трансляции
Наши новости могут транслироваться, используя rss.
rss1.0
rss2.0
rdf
FAQ
 FAQ #11
Back to Categories    Print this FAQ  Send a link to this FAQ to a friend pdf
USB G3 Modem Huawei E220 + FreeBSD
Это не мое, откуда-то с forum.lissyara.su. Откуда не знаю т.к. лежит сохраненным. Но чую явно очень скоро мне пригодится...

Хочу рассказать, как я наполовину поборол эту железяку под FreeBSD 7.0.
На Украине набирает обороты 3G провайдер Utel. Из всего спектра предоставляемого оборудования
для стационарных компьютеров подходит модем Huawei E220.
После подключения его к компьютеру мне выкинуло такое:

umass0: HUAWEI Technologies HUAWEI Mobile, rev 1.10/0.00, addr 2umass0: Could not find interrupt indevice_attach: umass0 attach returned 6


Просмотрев список USB-устройств я получил:

usbdevs -v
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 addr 2: full speed, power 500 mA, config 1, HUAWEI Mobile(0x1003), HUAWEI Technologies(0x12d1), rev 0.00


Удобство, создаваемое при настройке этого модема в винде поражает своей простотой. При подключении в OC Windows
он сначала монтируется как CD-ROM, где имеет ID HUAWEI Technologies(0x12d1) ставит там своё ПО (кстати очень прилично и удобно написано).
После инсталляции срабатывает программка, отключающася CD-ROM и подключает, собственно модем - HUAWEI Mobile(0x1003)
Во FreeBSD такого конечно не происходит, и сам модем видится как umass0.
Погуглив немного я вышел из данной ситуации таким образом:
Необходимо добавить в файлы, которые находятся в директории /usr/src/sys/dev/usb следующие изменения:

--------------030008040502080503020600
Content-Type: text/plain;
name="patch-usbdevs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-usbdevs"
--- usbdevs 2008-04-12 13:23:21.000000000 +0200
+++ usbdevs-patched 2008-04-23 00:39:29.000000000 +0200
@@ -1387,6 +1387,7 @@
/* HUAWEI products */
product HUAWEI MOBILE 0x1001 Huawei Mobile
+product HUAWEI E220 0x1003 Huawei E220 HSDPA USB Modem
/* HUAWEI 3com products */
product HUAWEI3COM WUB320G 0x0009 Aolynk WUB320g
--------------030008040502080503020600
Content-Type: text/plain;
name="patch-usb_subr.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-usb_subr.c"
--- usb_subr.c 2007-06-30 22:18:44.000000000 +0200
+++ usb_subr.c-patched 2008-04-23 00:39:29.000000000 +0200
@@ -526,6 +526,19 @@
} static usbd_status
+usbd_set_feature(usbd_device_handle dev, int feature)
+{
+ usb_device_request_t req;
+
+ req.bmRequestType = UT_WRITE;
+ req.bRequest = UR_SET_FEATURE;
+ USETW(req.wValue, 1);
+ USETW(req.wIndex, feature);
+ USETW(req.wLength, 0);
+ return (usbd_do_request(dev, &req, 0));
+}
+
+static usbd_status
usbd_set_config(usbd_device_handle dev, int conf)
{
usb_device_request_t req;
@@ -995,7 +1008,14 @@
* We just did not find any drivers, that's all. The device is
* fully operational and not harming anyone.
*/
+ DPRINTF(("usbd_probe_and_attach: generic attach failed\n"));
+
+ if (dev->quirks->uq_flags & UQ_FEATURE2) {
+ printf("%s: Enabling feature UHF_PORT_SUSPEND\n", device_get_nameunit(parent));
+ usbd_set_feature(dev, UHF_PORT_SUSPEND);
+ }
+ return (USBD_NORMAL_COMPLETION);
}
--------------030008040502080503020600
Content-Type: text/plain;
name="patch-usb_quirks.h"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-usb_quirks.h"
--- usb_quirks.h 2007-06-29 23:07:41.000000000 +0200
+++ usb_quirks.h-patched 2008-04-23 00:39:29.000000000 +0200
@@ -52,6 +52,7 @@
#define UQ_AU_NO_FRAC 0x00000400 /* don't adjust for fractional samples */
#define UQ_AU_INP_ASYNC 0x00000800 /* input is async despite claim of adaptive */
#define UQ_BROKEN_BIDIR 0x00002000 /* printer has broken bidir mode */
+#define UQ_FEATURE2 0x4000 /* requires the enabling of feature 2 */
#define UQ_OPEN_CLEARSTALL 0x04000 /* device needs clear endpoint stall */
#define UQ_HID_IGNORE 0x00008000 /* device should be ignored by hid class */
#define UQ_KBD_IGNORE 0x00018000 /* device should be ignored by both kbd and hid class */
--------------030008040502080503020600
Content-Type: text/plain;
name="patch-usb_quirks.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-usb_quirks.c"
--- usb_quirks.c 2008-04-20 10:52:13.000000000 +0200
+++ usb_quirks.c-patched 2008-04-23 00:39:29.000000000 +0200
@@ -112,6 +112,8 @@
ANY, { UQ_KBD_IGNORE } },
{ USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24X,
ANY, { UQ_KBD_IGNORE } },
+ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220,
+ ANY, { UQ_FEATURE2 } },
{ 0, 0, 0, { 0 } }
};
--------------030008040502080503020600
Content-Type: text/plain;
name="patch-ubsa.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-ubsa.c"
--- ubsa.c 2008-04-12 13:23:21.000000000 +0200
+++ ubsa.c-patched 2008-04-23 00:39:29.000000000 +0200
@@ -236,6 +236,8 @@
{ USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS },
/* Huawei Mobile */
{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE },
+ /* Huawei Mobile E220 */
+ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 },
/* Qualcomm, Inc. ZTE CDMA */
{ USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM },
{ 0, 0 }
--------------030008040502080503020600--



После изменения файлов необходимо также выключить в ядре поддержку устройств umass,
а чтоб потом флешки нормально работали добавить в /boot/loader.conf

ubsa_load="YES"
umass_load="YES"


Перекомпилируем ядро, перезагружаемся и проверяем подгрузились ли модули:

#kldstat
Id Refs Address    Size     Name
1   16 0xc0400000 91413c   kernel
2    1 0xc0d15000 7174     umass.ko
3    1 0xc0d1d000 342c     umodem.ko
4    3 0xc0d21000 3518     ucom.ko
5    1 0xc0d25000 3280     ubsa.ko
6    1 0xc0d29000 6a32c    acpi.ko
7    1 0xc4894000 22000    linux.ko


После подключения модема система наконец-то выдала долгожданное:

ucom0: at uhub0 port 2 (addr 2) disconnected
ucom0: detached
ucom0: <HUAWEI Technologies HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 2> on uhub0
ucom0: Could not find interrupt indevice_attach: ucom0 attach returned 6
ucom0: <HUAWEI Technologies HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 2> on uhub0
ucom0: Could not find interrupt indevice_attach: ucom0 attach returned 6
uhub0: Enabling feature UHF_PORT_SUSPEND
ucom0: at uhub0 port 2 (addr 2) disconnected
ucom0: <HUAWEI Technologies HUAWEI Mobile, class 0/0, rev 1.10/0.00, addr 2> on uhub0


После этого настроив ppp соединение я пытаюсь соединиться с интернетом с таким вот файлом ppp.conf

default:
set log Phase Chat LCP IPCP CCP tun command
utel:
set device /dev/cuaU0
set speed 57600
set phone *99\#
set authname Utel
set authkey
add default HISADDR
enable dns


И меня отстреливает с такой вот ошибкой:

May 15 17:44:49 Notebook ppp[1215]: tun0: LCP: deflink: SendConfigReq(1) state = Req-Sent
May 15 17:44:49 Notebook ppp[1215]: tun0: LCP:  ACFCOMP[2]
May 15 17:44:49 Notebook ppp[1215]: tun0: LCP:  PROTOCOMP[2]
May 15 17:44:49 Notebook ppp[1215]: tun0: LCP:  ACCMAP[6] 0x00000000
May 15 17:44:49 Notebook ppp[1215]: tun0: LCP:  MRU[4] 1500
May 15 17:44:49 Notebook ppp[1215]: tun0: LCP:  MAGICNUM[6] 0x60f1721b
May 15 17:44:52 Notebook ppp[1215]: tun0: LCP: deflink: LayerFinish
May 15 17:44:52 Notebook ppp[1215]: tun0: LCP: deflink: State change Req-Sent --> Stopped
May 15 17:44:52 Notebook ppp[1215]: tun0: LCP: deflink: State change Stopped --> Closed
May 15 17:44:52 Notebook ppp[1215]: tun0: LCP: deflink: State change Closed --> Initial
May 15 17:44:52 Notebook ppp[1215]: tun0: Warning: deflink: Unable to set physical to speed 0
May 15 17:44:52 Notebook ppp[1215]: tun0: Phase: deflink: Disconnected!


Подобная тема уже описывалась вот тут, но ничего из неё мне не подошло. Есть вероятность, что я пропустил, какую-то команду инициализации, т.к. на сайте указывается точка доступа, но вот такое дополнение в ppp.conf

set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\" AT OK-AT-OK ATZ OK \\
              AT+CGDCONT=1,\\\"IP\\\",\\\"3g.utel.ua\\\",\\\"0.0.0.0\\\",0,0 \ OK \
               AT+CGATT=1 OK \\\dATDT\\T TIMEOUT 40 CONNECT"


не принесло желанного результата.

PS: Статья несет информационный характер онли. В первую очвередь важно заполучить усб модем как увиденный фрей девайс, а здесь это получается. А дальше уже сами разберемся, так ведь?
Views 3250 (Unique 1093)
Member Rating : Not yet rated  
FAQ Posted by
Info Created: Sunday 14 March 2010 - 18:12:51
Last Updated: Sunday 20 July 2014 - 13:50:31
 
РадиоЭлектроника
Поиск Vampyr`s House!
Copyright © 1999-2014, Igor Muraviov. Все авторские права принадлежат их владельцам ( в случае указания) или владельцу сайта, если автор не указан.
Копирование материалов с сайта возможно только в случае размещения ссылки на первоисточник.
Protected by Copyscape DMCA Plagiarism Check