Мобила и FreeBSD

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-23 22:35:40

Вот такая штука получилась

Код: Выделить всё

0

1
idvendor 421, idproduct 445, ifnum 0
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2


1

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2


2

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2


3

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



4

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2


5

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



6

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2


7

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



8

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



9

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



10

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 11
3
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2



11

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
none:  cm 0, acm 0
idvendor 421, idproduct 445, ifnum 9
3
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
none:  cm 0, acm 0
1
ugen0: Nokia Nokia N80, rev 2.00/1.00, addr 2
Та Да...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-23 22:50:40

none: cm 0, acm 0
чтото совсем плохо
надо подумать будет

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-23 23:14:17

нужно накладывать еще тот патч чтоты давал
он вытягивает cmd более подробно
потому как они там нулевые
и сделаешь еще вывод дебага

а то еще лучше может и все распознаеться

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-23 23:34:53

я то его накладывал, но лучшн от этого не стало, ничего не распозналось
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-23 23:37:58

давай дебаг
он должен был none: cm %x повытягивать
а то там нули

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-27 21:31:14

пропатчил :)
dmesg

Код: Выделить всё

1
idvendor 421, idproduct 445, ifnum 0
3
idvendor 421, idproduct 445, ifnum 1
3
idvendor 421, idproduct 445, ifnum 2
3
idvendor 421, idproduct 445, ifnum 3
3
idvendor 421, idproduct 445, ifnum 4
3
idvendor 421, idproduct 445, ifnum 5
3
idvendor 421, idproduct 445, ifnum 6
3
idvendor 421, idproduct 445, ifnum 7
3
idvendor 421, idproduct 445, ifnum 8
4
idvendor 421, idproduct 445, ifnum 8
4
ucom0: Nokia Nokia N80, rev 2.00/1.00, addr 2, iclass 2/2
ucom0: data interface 9, has CM over data, has break
ucom0: status change notification available
idvendor 421, idproduct 445, ifnum 10
3
idvendor 421, idproduct 445, ifnum 11
4
idvendor 421, idproduct 445, ifnum 11
4
ucom1: Nokia Nokia N80, rev 2.00/1.00, addr 2, iclass 10/0
ucom1: no CM and Union descriptors
device_attach: ucom1 attach returned 6
собственно теперь имеем /dev/cuaU0 и /dev/ttyU0 :)

Код: Выделить всё

dron-hm# cu -l /dev/cuaU0
Connected
AT
OK
ATI
Nokia

OK
ATI2
V 05wk33v29
28-04-06
RM-92
(c) Nokia.

OK
ATI3
Nokia N80-1

OK
Модем живет :)
Пойду мучать ppp :)
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-27 21:36:06

сделай полный diff -urN filename1 filename2
и оставь сюда
пусть народ если что юзает

зы
дебаг там в них оставь

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-27 21:42:40

угу, сделаю...
уже дотестирую доконца, что-бы линк поднялся и обмен пошел...
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-27 21:44:33

та шо там тестить)
модем уже АУ кричит
и хватит

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-27 22:06:00

Ну собсно вот сам патч :)

Код: Выделить всё

--- umodem.c.orig       2008-10-22 23:02:46.000000000 +0300
+++ umodem.c    2008-10-27 20:57:27.000000000 +0200
@@ -69,6 +69,7 @@
 /*
  * Comm Class spec:  http://www.usb.org/developers/devclass_docs/usbccs10.pdf
  *                   http://www.usb.org/developers/devclass_docs/usbcdc11.pdf
+ *                   http://www.usb.org/developers/devclass_docs/cdc_wmc10.zip
  */

 /*
@@ -127,6 +128,7 @@
        { USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 0 },
        { USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 0 },
        { USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_PC5740, 0 },
+       { 0x0421, 0x0445, 0 },
        { 0, 0, 0 },
 };

@@ -179,7 +181,8 @@
                                          usb_cdc_line_state_t *state);

 Static void    umodem_get_caps(usbd_device_handle, int *, int *);
-
+Static usb_cdc_union_descriptor_t  *
+    umodem_get_union(usbd_device_handle dev, int iface_no);
 Static void    umodem_get_status(void *, int portno, u_char *lsr, u_char *msr);
 Static void    umodem_set(void *, int, int, int);
 Static void    umodem_dtr(struct umodem_softc *, int);
@@ -235,12 +238,22 @@
        int cm, acm, i, ret;

        if (uaa->iface == NULL)
+        {
+               printf("1\n");
                return (UMATCH_NONE);
+               printf("1\n");
+        }

        id = usbd_get_interface_descriptor(uaa->iface);
        dd = usbd_get_device_descriptor(uaa->device);
        if (id == NULL || dd == NULL)
+        {
+               printf("2\n");
                return (UMATCH_NONE);
+               printf("2\n");
+        }
+
+       printf("idvendor %x, idproduct %x, ifnum %d\n", UGETW(dd->idVendor), UGETW(dd->idProduct), id->bInterfaceNumber);

        ret = UMATCH_NONE;
        for (i = 0; umodem_products[i].vendor != 0; i++) {
@@ -259,15 +272,26 @@
                ret = UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO;

        if (ret == UMATCH_NONE)
+        {
+               printf("3\n");
                return (ret);
+               printf("3\n");
+        }

        umodem_get_caps(uaa->device, &cm, &acm);
        if (!(cm & USB_CDC_CM_DOES_CM) ||
            !(cm & USB_CDC_CM_OVER_DATA) ||
            !(acm & USB_CDC_ACM_HAS_LINE))
+               {
+               printf("none:  cm %x, acm %x\n", cm, acm);
                return (UMATCH_NONE);
+               }

+       {
+       printf("4\n");
        return ret;
+       printf("4\n");
+       }
 }

 USB_ATTACH(umodem)
@@ -277,6 +301,7 @@
        usb_interface_descriptor_t *id;
        usb_endpoint_descriptor_t *ed;
        usb_cdc_cm_descriptor_t *cmd;
+        usb_cdc_union_descriptor_t *cud;
        char *devinfo = NULL;
        const char *devname;
        usbd_status err;
@@ -309,10 +334,13 @@
        /* Get the data interface no. */
        cmd = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
        if (cmd == NULL) {
-               printf("%s: no CM descriptor\n", devname);
+                cud = umodem_get_union(dev, sc->sc_ctl_iface_no);
+                if (cud == NULL) {
+                    printf("%s: no CM and Union descriptors\n", devname);
                goto bad;
-       }
-       sc->sc_data_iface_no = data_ifcno = cmd->bDataInterface;
+                }else data_ifcno = cud->bSlaveInterface[0];
+        }else data_ifcno = cmd->bDataInterface;
+        sc->sc_data_iface_no = data_ifcno;

        printf("%s: data interface %d, has %sCM over data, has %sbreak\n",
               devname, data_ifcno,
@@ -558,19 +586,36 @@

        *cm = *acm = 0;

-       cmd = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
-       if (cmd == NULL) {
-               DPRINTF(("umodem_get_desc: no CM desc\n"));
-               return;
-       }
-       *cm = cmd->bmCapabilities;
-
        cad = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_ACM);
        if (cad == NULL) {
                DPRINTF(("umodem_get_desc: no ACM desc\n"));
                return;
        }
        *acm = cad->bmCapabilities;
+
+        cmd = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
+        if (cmd == NULL) {
+                DPRINTF(("umodem_get_desc: no CM desc\n"));
+                *cm = USB_CDC_CM_DOES_CM | USB_CDC_CM_OVER_DATA;
+        }else *cm = cmd->bmCapabilities;
+}
+
+usb_cdc_union_descriptor_t  *
+umodem_get_union(usbd_device_handle dev, int iface_no)
+{
+    usb_cdc_union_descriptor_t *desc;
+    usb_config_descriptor_t *cd = usbd_get_config_descriptor(dev);
+    uByte *p = (uByte *)cd;
+    uByte *end = p + UGETW(cd->wTotalLength);
+    while (p < end) {
+        desc = (usb_cdc_union_descriptor_t *)p;
+        if (desc->bDescriptorType ==  UDESC_CS_INTERFACE &&
+                desc->bDescriptorSubtype == UDESCSUB_CDC_UNION &&
+                desc->bMasterInterface == iface_no)
+            return (desc);
+        p += desc->bLength;
+    }
+    return (0);
 }

 void
Чтобы не листать тему с начала, скажу, что была добавлена строчка с описением idvendor и idproduct для моей железяки (строка с плюсиком)

Код: Выделить всё

{ USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 0 },
        { USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 0 },
        { USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_PC5740, 0 },
+       { 0x0421, 0x0445, 0 },
Выдрали данные из вывода usbdevs -v

Код: Выделить всё

port 3 addr 2: full speed, self powered, config 1, Nokia N80(0x0445), Nokia(0x0421), rev 1.00
все это дело делалось на

Код: Выделить всё

dron-hm# uname -a
FreeBSD dron-hm.dron.dp.ua 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:45:45 UTC 2008     root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP  i386
Огромный respect товарисчу paradox'y :drinks:
Последний раз редактировалось Dron 2008-10-27 22:17:57, всего редактировалось 1 раз.
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-27 22:08:53

ну теперь без дебага
все тот же пачт
с описанием какая там мобила
в листс на freebsd-usb
когда там появиться PR
сюда линк на него кинешь
)))

эт не мне
это тому челу что патч там для umodem написал....

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-27 23:13:19

имелось ввиду баг репорт
а он уже сам там в PR превратиться))
а то и правда пульнешь прямо в рассылку

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-30 21:01:56


paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-30 21:10:05

монияк))

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-30 22:27:02

чего? :oops:
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-10-30 22:37:15

сам пофиксил
сделал патч
и как павильный бсдешник заполил PR

монстер!!!))

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-10-30 22:48:04

да, я этого не писал, а перечитал, получается что так :oops: :oops: :oops:
блин
Та Да...

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение manefesto » 2008-11-01 14:33:48

эх молодцы =)
я такой яростный шо аж пиздеЦ
Изображение

Rita
сержант
Сообщения: 157
Зарегистрирован: 2007-12-01 23:41:45

Re: Мобила и FreeBSD

Непрочитанное сообщение Rita » 2008-11-14 19:21:11

Ай-яй так и не поняла как этот патч применить и куда, а к моему то он подойдет? :cry:
Я всмысле про вот эту тему http://forum.lissyara.su/viewtopic.php? ... 68#p113268

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-11-14 19:29:30

у него 7
у тебя 6
возможно прямо не наложиться
прийдеться ручками
сможешь?
и потом дебаг вывод сюда
по путно свои devid vendid вставишь смето нокии
port 2 addr 2: full speed, power 500 mA, config 1, Sony Ericsson W700(0xd056), Sony Ericsson(0x0fce), rev 0.00
вариант либо заработает сразу и появиться /dev/
либо еще будем думать как твой патчить

Rita
сержант
Сообщения: 157
Зарегистрирован: 2007-12-01 23:41:45

Re: Мобила и FreeBSD

Непрочитанное сообщение Rita » 2008-11-14 19:38:48

paradox писал(а):у него 7
у тебя 6
возможно прямо не наложиться
прийдеться ручками
сможешь?
Темный лес, ладно уж пойду читать как патчи накладывать вроде как поняла примерно типа http://forum.lissyara.su/viewtopic.php? ... 25#p107262
п.с
а дебаг он где :oops: ?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-11-14 19:43:03

дебаг он в dmesg или на нулевой консоли(если настроено) появляеться

ну если неполучиться
говори
пропатчим за тебя

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение Dron » 2008-11-14 20:52:20

у мя 6.3 :)

вот патч для 6.1-STABLE FreeBSD 6.1-STABLE #1: другой 6.1 под рукой небыло :pardon:

Код: Выделить всё

--- umodem.c.orig       2008-11-14 19:35:45.000000000 +0200
+++ umodem.c    2008-11-14 19:47:03.000000000 +0200
@@ -69,6 +69,7 @@
 /*
  * Comm Class spec:  http://www.usb.org/developers/devclass_docs/usbccs10.pdf
  *                   http://www.usb.org/developers/devclass_docs/usbcdc11.pdf
+ *                  http://www.usb.org/developers/devclass_docs/cdc_wmc10.zip
  */

 /*
@@ -125,6 +126,10 @@
 } umodem_products[] = {
         /* Kyocera AH-K3001V*/
         { USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 0 },
+       { USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 0 },
+       { USB_VENDOR_CURITEL, USB_PRODUCT_CURITEL_PC5740, 0 },
+       { 0x0421, 0x0445, 0 },
+       { 0x0fce, 0xd056, 0 },
         { 0, 0, 0 },
 };

@@ -275,6 +280,7 @@
         usb_interface_descriptor_t *id;
         usb_endpoint_descriptor_t *ed;
         usb_cdc_cm_descriptor_t *cmd;
+       usb_cdc_union_descriptor_t *cud;
         char *devinfo = NULL;
         const char *devname;
         usbd_status err;
@@ -307,11 +313,13 @@
         /* Get the data interface no. */
         cmd = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
         if (cmd == NULL) {
-                printf("%s: no CM descriptor\n", devname);
+               cud = umodem_get_union(dev, sc->sc_ctl_iface_no);
+                if (cud == NULL) {
+                    printf("%s: no CM and Union descriptors\n", devname);
                 goto bad;
-        }
-        sc->sc_data_iface_no = data_ifcno = cmd->bDataInterface;
-
+                }else data_ifcno = cud->bSlaveInterface[0];
+        }else data_ifcno = cmd->bDataInterface;
+        sc->sc_data_iface_no = data_ifcno;
         printf("%s: data interface %d, has %sCM over data, has %sbreak\n",
                devname, data_ifcno,
                sc->sc_cm_cap & USB_CDC_CM_OVER_DATA ? "" : "no ",
@@ -559,16 +567,26 @@
         cmd = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
         if (cmd == NULL) {
                 DPRINTF(("umodem_get_desc: no CM desc\n"));
-                return;
-        }
-        *cm = cmd->bmCapabilities;
+                *cm = USB_CDC_CM_DOES_CM | USB_CDC_CM_OVER_DATA;
+        }else *cm = cmd->bmCapabilities;
+}

-        cad = umodem_get_desc(dev, UDESC_CS_INTERFACE, UDESCSUB_CDC_ACM);
-        if (cad == NULL) {
-                DPRINTF(("umodem_get_desc: no ACM desc\n"));
-                return;
-        }
-        *acm = cad->bmCapabilities;
+usb_cdc_union_descriptor_t  *
+umodem_get_union(usbd_device_handle dev, int iface_no)
+{
+    usb_cdc_union_descriptor_t *desc;
+    usb_config_descriptor_t *cd = usbd_get_config_descriptor(dev);
+    uByte *p = (uByte *)cd;
+    uByte *end = p + UGETW(cd->wTotalLength);
+    while (p < end) {
+        desc = (usb_cdc_union_descriptor_t *)p;
+        if (desc->bDescriptorType ==  UDESC_CS_INTERFACE &&
+                desc->bDescriptorSubtype == UDESCSUB_CDC_UNION &&
+                desc->bMasterInterface == iface_no)
+            return (desc);
+        p += desc->bLength;
+    }
+    return (0);
 }

 void
нокию оставил, ерика добавил... пробуй :)
Та Да...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Мобила и FreeBSD

Непрочитанное сообщение paradox » 2008-11-14 21:10:41

Код: Выделить всё

man patch
patch -p0 < rita.patch  ;))

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: Мобила и FreeBSD

Непрочитанное сообщение dm07 » 2008-11-17 1:17:31

Посмотри еще проект gnokii.org. Во фре есть в портах.