PDA и BT-наушники.
Nov. 28th, 2006 02:46 pmСтолкнулся тут с проблемой, решение которой заняло два дня.
Участвовали:
Bluetooth-наушники (они же гарнитура) Cellink BTST-9000D
Комп с bluetooth-донглом Trendnet. Софт – bluesoleil.
Телефон Nokia 6103
КПК Fujitsu-Siemens Loox 720, прошит стандартный bluetooth-стек widcomm (он же broadcom) 1.5
Задача:
Дома просто слушать музыку с компа.
В дороге слушать музыку с кпк, при звонке - юзать как гарнитуру.
Проблема:
С мобильным и компом гарнитура сопрягалась замечательно. То есть не потребовалось никаких лишних телодвижений, кроме разве что установки плагина Multiple Output Plugin под винамп для того, чтобы не выбирать каждый раз звуковуху, а выводить звук на два источника сразу (звуковуха и bluetooth AV). В винде-то bluesoleil сам это меняет, но у винампа настройки свои собственные.
А вот с кпк получился облом. К профилю гарнитуры наушники подключаться отказались. Ну, естественно пришлось погуглить, в итоге выяснилось, что видкомовский стек 1.5 просто не поддерживает профиль high quality audio (и блютусные клавиатуры, но это к делу не относится). Ну, пришлось его обновить до 1.6, тоже с нехилым поначалу геморроем. Инструкция по обновлению лежит тут, у меня процесс прошел с некоторыми изменениями:
1. Удаляем все BT-устройства (я лично вообще проделывал это все после хард-ресета).
2. Ставим pda2k_broadcomcorp_btupdate.cab (я брал тут).
3. Берем файл BTTrayCE.lnk из автозагрузки (\windows\startup) и перемещаем его куда-нибудь, на флешку, к примеру.
4. Перезагружаемся.
5. Качаем Broadcom_1.6.0_0600_Updated (http://forum.xda-developers.com/showthread.php?t=231964, самый верхний пост).
6. Переименовываем файл \windows\btceavif.dll во что-нибудь другое, например btceavif.dl_. По идее надо бы переименовать и bttrayCE.exe, но у меня он отказался это делать. Делать это нужно для того, чтобы перезаписать их, просто так это не выходит. С первым, что интересно, не вышло даже в safe-mode (заодно, кстати, узнал, что у кпк тоже есть безопасный режим).
7. Дальше я просто синхронизировал кпк с большим братом и целиком залил (с перезаписью всего) архив в \windows. Заливал через ActiveSync потому, что из-под самого кпк я не мог перезаписать файл bttrayCE.exe. Почему – так и не понял.
8. Вернул BTTrayCE.lnk в автозагрузку, перезагрузился.
Все. В bluetooth manager появились профили для клавиатуры и звука. Устройство синхронизируется, работает и с кпк, и с мобилой, музыка играет, звонки принимаются, все замечательно. На первый взгляд. На самом же деле обнаружился очень неприятный баг.А именно, разрыв связи примерно каждые 20 минут. Иногда каждые 5. Причем, что интересно, коннект не рвался, пакеты бегают, музыка в плеере проигрывается. А в ушах тишина. Приходилось делать реконнект, причем в половине случаев помогал только софт-ресет. Бесило это меня два дня, сегодня утром достало окончательно. Попробовал поискать BT-стек поновее. Гуглил два часа, выяснил, что есть стек 1.7.0 и 1.7.1, но для WM5. Еще дальше нашел каком-то из списков кпк с WM3 прошитым стеком 1.7. Сам стек не нашел, но на одном их форумов нашел тему, посвященную тем же самым глюкам с Axim X51v. Попробовал. Заработало, и работает без сбоев уже час. Итак, решение:
1. Запускаем редактор реестра.
2. Идем в [HKLM\Software\Widcomm\BTConfig\SerialTransport]
3. Снижаем BaudRate до 460800
4. Устанавливаем FlowControl в 0
Все!