ubt0: как отключить UART FIFO?
Добавлено: 2012-08-26 20:16:42
проблема с блюпупными сервисами во фре
проявлялась эпизодически, но сейчас уже можно сказать определенно с чем это связано и что нужно сделать..
симптомы: в журнале загрузки системы видим.. ну оччень большое кол-во "коллбэков 867-767"
в этом случае не возможно предоставить\получить ни один блютуз-сервис
положительная симптоматика: "коллбэков" при загрузке не наблюдается, при этом ubt0 поднимается и всё чудесно работает..
достигается путём перезагрузки в "венду" (на ноуте установлено 2 ОСи) и убиранием галки "use fifo" в свойствах ком порта

===========
А теперь, уважаемые знатоки, внимание, вопрос (С):
Как это сделать ("убрать галку") во фре???
зы. я тут уже накопал даташитов на предмет низкоуровневой работы с RS-232 (по идее достаточно очищать нулевой бит в регистре ком порта по адресу БА+2)
но, во-первых, я слабо представляю как это делается во фре, ну и хрен ево знает как посчитать этот базовый адрес, всеж таки стек поднимается на графах..
чота мне подсказывает, что можно "выключить галку" как то.. попроще..
проявлялась эпизодически, но сейчас уже можно сказать определенно с чем это связано и что нужно сделать..
симптомы: в журнале загрузки системы видим.. ну оччень большое кол-во "коллбэков 867-767"
Код: Выделить всё
Jul 22 20:29:20 kaktus kernel: ubt0: <vendor 0x03f0 product 0x311d, class 224/1, rev 1.10/0.01, addr 2> on usbus2
Jul 22 20:29:20 kaktus kernel: wlan0: Ethernet address: d0:df:9a:7a:b4:b6
Jul 22 20:29:20 kaktus kernel: umodem0: <HP lc2010 Mobile Broadband Module Data Modem> on usbus4
Jul 22 20:29:20 kaktus kernel: umodem0: data interface 2, has CM over data, has break
Jul 22 20:29:20 kaktus kernel: umodem1: <HP lc2010 Mobile Broadband Module Modem> on usbus4
Jul 22 20:29:20 kaktus kernel: umodem1: data interface 4, has CM over data, has break
Jul 22 20:29:20 kaktus kernel: umodem2: <SGPSPORT> on usbus4
Jul 22 20:29:20 kaktus kernel: umodem2: data interface 10, has CM over data, has break
Jul 22 20:29:20 kaktus kernel: WARNING: attempt to domain_add(bluetooth) after domainfinalize()
Jul 22 20:29:20 kaktus kernel: WARNING: attempt to domain_add(netgraph) after domainfinalize()
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_bulk_read_callback:867: bulk-in transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_intr_read_callback:767: interrupt transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_bulk_read_callback:867: bulk-in transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_intr_read_callback:767: interrupt transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_bulk_read_callback:867: bulk-in transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_intr_read_callback:767: interrupt transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_bulk_read_callback:867: bulk-in transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_intr_read_callback:767: interrupt transfer failed: USB_ERR_STALLED
Jul 22 20:29:20 kaktus kernel: ubt0: ubt_bulk_read_callback:867: bulk-in transfer failed: USB_ERR_STALLED
Код: Выделить всё
hccontrol -n ubt0hci inquiry
hccontrol: Could not find HCI nodes
Could not execute command "browse". No such file or directory
There are 6 total nodes:
Name: ubt0 Type: ubt ID: 00000001 Num hooks: 0
Name: btsock_hci_raw Type: btsock_hci_raw ID: 00000002 Num hooks: 0
Name: btsock_l2c_raw Type: btsock_l2c_raw ID: 00000003 Num hooks: 0
Name: btsock_l2c Type: btsock_l2c ID: 00000004 Num hooks: 0
Name: btsock_sco Type: btsock_sco ID: 00000005 Num hooks: 0
Name: ngctl1976 Type: socket ID: 00000014 Num hooks: 0положительная симптоматика: "коллбэков" при загрузке не наблюдается, при этом ubt0 поднимается и всё чудесно работает..
достигается путём перезагрузки в "венду" (на ноуте установлено 2 ОСи) и убиранием галки "use fifo" в свойствах ком порта

===========
А теперь, уважаемые знатоки, внимание, вопрос (С):
Как это сделать ("убрать галку") во фре???
зы. я тут уже накопал даташитов на предмет низкоуровневой работы с RS-232 (по идее достаточно очищать нулевой бит в регистре ком порта по адресу БА+2)
но, во-первых, я слабо представляю как это делается во фре, ну и хрен ево знает как посчитать этот базовый адрес, всеж таки стек поднимается на графах..
чота мне подсказывает, что можно "выключить галку" как то.. попроще..