Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> SkyLink-CDMA

SkyLink-CDMA + FreeBSD 6.1

Автор: Raven2000.


Подрубаем телефоны SkyLinkие т.е. CDMA к нашей любимой фряхе :) телефоны ессно USB для гимора :)
Например мне надо было подключить к FreeBSD 2 телефона, мобильный Ubiquam UM-105 и стационарник RWT FCT-CDMA.24. Так же подрубается CNU-550 USB модем С-motech и т.д.
Нус начнемс...

1) Итак при подключении телефона к системе он определяется как
#ugen0: UBIQUAM Co., Ltd. UBIQUAM CDMA USB Modem, rev 1.01/0.00, addr2

А это не зер гуд.

2) подгрузим
#kldload ucom 
#kldload umodem 
#kldload uplcom		#(для usb кабелей с подзарядкой)

теперь при переподключении телефона к системе он определяется как
#ucom0: UBIQUAM Co., Ltd. UBIQUAM CDMA USB Modem, rev 1.01/0.00, addr2
iclass 2/2
ucom0: data interface 1, has CM over data, has break
ucom0: could not set data multiplex mode
device_attach: ucom0 attach returned 6

Последняя строка
device_attach: ucom0 attach returned 6

говорит: телефон благополучно прикрутился.
Вопрос в том как именно устройство пропишется в каталог /dev, в разных
версиях FreeBSD по разному, для 5.3 к примеру ucom0 , для 6.1 будет ttyU0.
Определить легко, см 3.1)

Итак перезагружаем систему предварительно прописав в /boot/loader.conf пару
строчек далее см. 3)

2.2) второй вариант (это когда гимор) и в /dev не появляется.
Я её решил патчингом ядра (убрал проверку ошибок в драйвере umodem )#
Красивым это решение назвать нельзя,но другие способы мне неизвестны..#
Для ядра 6.0 и 6.1:
берёте файл /usr/src/sys/dev/usb/umodem.c
находите там строку номер 383 (goto bad); и в самом начале строки (до текста) вставляете "//"
Пример строки 383:         
//goto bad; 

Сохраняете. Пересобираете ядро.
После этого должно работать.
Да и при подключение телефона вероятней всего будет писатся так
#ucom0: UBIQUAM Co., Ltd. UBIQUAM CDMA USB Modem, rev 1.01/0.00, addr2
class 2/2
ucom0: data interface 1, has CM over data, has break
ucom0: could not set data multiplex mode
ucom0: status change notification avalable


И все далее по тексту см. 3)  

3) Для того чтобы автоматом загружались все это при старте FreeBSD в
/boot/loader.conf пишем пару строчек.
ucom_load="YES" 
umodem_load="YES"
uplcom_load="YES" (для usb кабелей с подзарядкой)

3.1)Перегружаем ПК с подрубленным телефоном и не вводя логина в консоли
отключаем телефон, консоль пишет что устройство ttyU0 (в FreeBSD 6.1)
отключилось, его смело и пишем в /etc/ppp/ppp.conf:

4) Теперь в конфиг /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 

Обязательно!: без отступа пишутся строки default: и skylink: , остальные
строки через пробел.

5) Перезагрузим систему
Подрубим телефон ежели он не подключен смотрим инициализацию и звоним.
Звоним от рута (две команды)
#ppp 
#dial skylink 

можно короче и предпочтительней (одна команда меньше гимора)
#ppp -ddial skylink 

6) Дозвонившись, проверьте интерфейс у мя такой.
#ifconfig tun0
tun0: flags=8011 mtu 1500
inet 212.129.105.15 --> 212.129.102.1 netmask 0xffffff00

И пингуем любой сервак если все пингуется то можно пить пыво и лазить по инету ;)  
#ping -c4 rambler.ru



размещено: 2007-02-05,
последнее обновление: 2007-03-16,
автор: Raven2000


fff, 2007-02-10 в 23:42:40

Огромное спасибо. Pantech-Curitel 550HX наконец-то завелся с родным кабелем по USB! Интересно также, что "инет стал быстрее" :). Еще раз большое спасибо!

fff, 2007-02-10 в 23:44:40

Кстати, в RELENG_6 в umodem.c "goto bad;" - это 383 строка.

espiritu, 2007-03-28 в 6:19:09

Если посмотреть на несколько строчек выше то можно увидеть
...
if (usbd_get_quirks(sc->sc_udev)->uq_flags
               & UQ_ASSUME_CM_OVER_DATA) {
...

Т.е. видимо данную особенность имеет и ваш модем, только нужно его ProductID прописать куда следует, т.е. в usb_quirks.c в одноименную табличку.
Соотв. имен номерам храняться в usbdevs из коего уже в процессе сборки генериться заголовок.

Пример для ZTE WP520BD:
в usb_quirks.cpp:
{ USB_VENDOR_QUALCOMM, USB_PRODUCT_QUALCOMM_CDMA_MSM_ZTE,
       ANY, { UQ_ASSUME_CM_OVER_DATA }},

в usbdevs
product QUALCOMM CDMA_MSM_ZTE   0x3100  CDMA... ZTE corp. phone

PS
Есть подозрение что все QUALCOMM'ы имеют такую особенность

espiritu, 2007-03-28 в 6:21:40

Прим. к пред. комментарию: провернено на FreeBSD 5.3

terrs, 2007-05-06 в 14:22:04

ANYDATA ADU E100A по этой методе завести не удалось на 6.2 rel.

Eta4ever, 2007-05-08 в 12:55:27

Huawei ETS-678 таким образом успешно запущен под 6.2 release. Использовал название cuaU0.

Гость с Урала, 2007-09-10 в 9:53:41

ANYDATA подключилась к 6.1

lamao, 2008-02-23 в 15:59:39

Огромное спасибо! Наконецто нашел нормальное обьяснение и нормально форматированный конфиг.
Запустил Motorola V3m под 6.0 Release. Ядро - GENERIC

Гость с Урала, 2008-03-26 в 6:47:27

Под 6.2 AnyDATA E100A тоже работает.
Грузите модули ucom, umodem, ubsa, uftdi
Исправляйте usb_quirks.c, ubsa.c, usbdevs (и если нужно umodem.c тоже). Что именно исправлять можно найти на форуме.

mak_v_, 2008-07-15 в 17:11:12

Огромное спасибо автору
заработал модем Paintech (USB+cardreader), остались вопросы про выдёргивание момеда(из юзб) и восстановление соединения, а так же про мёртвость тунеля РРР и восстановление соединения

Александр, 2008-08-04 в 11:03:13

я использовал для нокиа 5200 все прописал в нижеуказанную директорию, но вот блин непойму почему при наборе
-нед подписки на услуги пакет, перд. данных.
Телефон набирает, но оператор похоже не регестрирует.

(данный листинг брал с
сайта http://www.opennet.ru/base/modem/gprs_siemens.txt.html  )

 1. В директории /etc/ppp правим файл ppp.conf. Вот пример моего  ppp.conf:

          default:
          set log Phase Chat LCP IPCP CCP tun command
          ident user-ppp VERSION (built COMPILATIONDATE)
          set device /dev/cuaa0
          set speed 57600
          set timeout 0
          enable dns
          disable pred1
          deny pred1
          disable lqr
          deny lqr
          set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
          \"\" AT OK-AT-OK ATE1Q0 OK \
          AT+CGDCONT=1,\\\"IP\\\",\\\"internet.beeline.ru\\\",\\\"0.0.0.0\\\",0,0 OK \\ AT+CGATT=1 OK \\dATDT\\T TIMEOUT 40 CONNECT"
          set logout "ABORT BUSY ABORT ERROR TIMEOUT 30 \ \"\" +++ATH OK-ATH-OK AT+CGATT=0 OK"
          set openmode active 15
          set phone *99***1\#
          set authname beeline
          set authkey beeline
          set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
          add default HISADDR # Add a (sticky) default route

espiritu, 2008-08-12 в 12:22:22

Следует отключить все возможные сжатия заголовков. Я сейчас не помню и не имею возможности посмотреть, но помоему здесь перечислены не все disable/deny специфичные для beeline.
man pppd должен помочь.

Александр, 2008-08-14 в 0:13:15

У меня впринципи все получилос, все как в листинге выше.
Более подробное и детальное описание пришлю чуть позже.

Но вот что странно выходит только с билайном а мегафон никак в сети не регестрируется. (огромное спасипо создателю сайта, его статься была основопологающей в решении данного вопроса).

RAGNAR, 2010-10-13 в 13:45:46

Это все подходит для динамического ip, а как быть со статическим?

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
это не работает



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.2174 секунд
Из них PHP: 40%; SQL: 60%; Число SQL-запросов: 77 шт.
Исходный размер: 26718; Сжатая: 7679