После нескольких дней борьбы с Ubuntu сбой часто, наконец, это сработало.
Ниже приведены шаги, которые я пробовал.Просьба считать это ссылкой, поскольку есть большие шансы, что я, возможно, забыл написать несколько этапов
.......................... .................................................. .......................
Обзор проблемы: Пытается подключить ОС Linux к гарнитуре BT и установить ссылку sco для воспроизведения музыки
конфигурация
UBUNTU:
версия ядра: 3.0.0-32-родовой
Ubuntu Verion -> 11,10
Тестирование устройства: JABRA GO ЛЕГКО гарнитура ..
....................... .................................................. ..... 1) Установите вышеуказанную версию Ubuntu. Эта версия Ubuntu не поддерживается, но поскольку мое встроенное устройство использует почти ту же версию ядра, поэтому я придерживался этой версии.
2) Настройте список источников apt-get. Поскольку установленная версия не поддерживается, apt-get не будет работать. Чтобы он работал, измените значение /etc/apt/sources.list
.
ПРИМЕР->
sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo apt-get update && sudo apt-get dist-upgrade
3) Я бы рекомендовал установить Synaptic, а также для установки пакетов и недостающие библиотеки.
4) Установите следующие пакеты ->
bluez-hcidump
bluez-utils
libbluetooth1
libbluetooth1-dev
install automake-1.7 and autoconfig
cvs
5) Google это, чтобы загрузить исходный код btsco или в качестве альтернативы
использовать следующие COMAND
cvs -d:pserver:[email protected]:/cvsroot/bluetooth-alsa login
cvs -d:pserver:[email protected]:/cvsroot/bluetooth-alsa co btsco
6) СЕЙЧАС ПОДГОТОВКА И УСТАНОВКА
я) перейти к btsco Адресной книги
б) ./bootstrap вопросов:
если ошибка/предупреждение: макро `AM_PATH_SDL» не найден в библиотеке установки libbsdl1.2-DEV
раз bootsrap прошел выполнение настройка II) ./configure вопросы:
- если Bluetooth/Bluetooth .h отсутствует -> установить libbluetooth-DEV
- пакет Требование DBus-1> = 0,36 не соответствует & DBus-GLIB не найдено -> установить libdbus-бойкий-1-DEV
III) делают
вопросы: ./ libtool: строка 841: X - tag = CXX: команда не найдена и многие другие ошибки, подобные этому
Для решения этой проблемы: загрузить libtool-1.5.24 tar ball. извлеките его и сделайте configure and make
. теперь снова настройтесь на btsco и скопируйте libtool исполняемый из каталога libtool в btsco.
IV) сделать установку v) сделать mainatiner-чистой O/P: btsco строится преуспевающим, и вы можете найти его в/USR/местные/бен.
7) Построить модуль ядра
я) кд/USR/SRC/btsco/ядро
б) сделать
вопросы: Я предполагаю, что вы получите огромный список ошибок. открытая btsco.cand обрабатывать каждый шаг за шагом ошибки
1 ошибка звук/driver.h не найден бла-бла -> комментарий, что в btsco.c файле
2 комментария #include, как это устарел
3) добавить
#include< linux/smp.h>
#include< linux/muxtex.h>
4) DEFINE_MUTEX (os_mutex);
5) snd_assert является устаревшим, так заменить UIT с помощью, если Постулаты например
if(bt_sco->playback == NULL)
{
}
6) заменить kill_proc (опять устаревшее) по функции ниже 9 копируется из чистой .. tahnks к тому парню) ссылка: http://www.linuxquestions.org/questions/linux-kernel-70/is-there-any-kill_proc-replacement-for-proprietary-linux-kernel-drivers-4175460017/
int my_kill_proc(pid_t pid, int sig) {
int error = -ESRCH; /* default return value */
struct task_struct* p;
struct task_struct* t = NULL;
struct pid* pspid;
rcu_read_lock();
p = &init_task; /* start at init */
do {
if (p->pid == pid) { /* does the pid (not tgid) match? */
t = p;
break;
}
p = next_task(p); /* "this isn't the task you're looking for" */
} while (p != &init_task); /* stop when we get back to init */
if (t != NULL) {
pspid = t->pids[PIDTYPE_PID].pid;
if (pspid != NULL) error = kill_pid(pspid,sig,1);
}
rcu_read_unlock();
return error;
}
, а затем вместо kill_proc должен быть
my_kill_proc(bt_sco->thread_pid, SIGINT)
6) заменить %d to %lu
на ошибку долгого ИНТ
7) replace lock_kernal to mutex_lock(&os_mutex)
же для разблокировки
надеюсь сделать будет успешным после этого
8) сделать установку 9) depmod -e 10 0 очищает
11) Modprobe snd_bt_sco
......................................
Теперь запустите btsco
а) hciconfig hci0 голос 0X0060
б) hcitool сканирования
ПОЛУЧИТЬ mac_addre4ss из JABRA
с)/USR/местные/бен/btsco -r - v mac_addrees
если возникли ошибки?: Контроль открытых (HW: 1), затем Jabra оленья кожа поддержки SCO или модуль ядра не загружен
г) на другом терминале делают ->sudo hcidump -i hci0 sco
контролировать SCO пакеты
е) после соединения джабр устанавливается прогон aplay -D plughw:Headset /home/my_home_dir/my_sample_fiile.wav