- Настройка Bluetooth в Ubuntu
- Настройка Bluetooth в Ubuntu: стандартный способ
- Как подключить интернет через смартфон по Bluetooth?
- Подключение Ubuntu к WiFi для Android через Bluetooth
- Выводы
- Ubuntu Documentation
- Introduction
- Requirements
- Installation and Configuration
- Ubuntu 10.04 Install via the command line
- Ubuntu 11.04 Install via the command line
- Older documentation:
- Manual Discovery
- Setup Devices
- Find Device Addresses
- Connect Devices for Current Session Only
- Connect Devices at Startup
- Using Devices as Modems
- Using audio devices
- Troubleshooting
- «obex://[xx:xx:xx:xx:xx:xx]» is not a valid location.
- hcitool scan/dev/inq »’Connection timed out»’ Error
- Comments
- Как настроить Bluetooth в Linux сложным путем
- Этап 1. Подготовка
- Этап 2. Наступление
- Этап 3. Проверка связи
- Этап 4. ./configure && make
- Этап 5. Варим кашу из топора
- Установка в QEMU
- Настройка системы
- Терминалы
- Bluetooth и Wi-Fi
- Взмах влево, взмах вправо
- Разделы системы
- Этап 6. Пробуем нашу кашу
- Этап 7. Финишная прямая
- Используем на практике
- Полезные ссылки
- Интересные факты о контроллере
Настройка Bluetooth в Ubuntu
Что делать если вам нужно подключиться через Bluetooth к наушникам или телефону? В этом поможет простая и быстрая настройка Bluetooth в Ubuntu. Сейчас мы расскажем вам что нужно делать чтобы подключить гарнитуру, наушники или телефон к Ubuntu.
Настройка Bluetooth в Ubuntu: стандартный способ
Откройте настройку Bluetooth, щелкнув значок Bluetooth на верхней панели:
Выберите «+» в левом нижнем углу следующего окна:
Поместите устройство Bluetooth в «Режим сопряжения». Обратитесь к руководству о том, как это сделать.
Гарнитура MEElectronics AF9-BK войдет в режим сопряжения, выключив устройство, а затем нажав и удерживая многофункциональную кнопку в течение 7 секунд, пока синий индикатор не будет постоянно включен.
Затем выполните «Продолжить», чтобы включить «настройку нового устройства» в Ubuntu.
Теперь устройство должно быть распознано:
Выберите новое устройство. Если мы используем PIN-код не по умолчанию для сопряжения, мы можем указать «PIN-варианты», но это обычно не требуется. Нажмите «Продолжить», чтобы завершить настройку.
Перейдите в «Настройки звука» в меню верхней панели:
Выберите гарнитуру в качестве аудиовыхода или устройства ввода и введите «Режим» для службы Bluetooth. Обратите внимание, что микрофон не будет доступен в режиме A2DP:
В случае, если мы использовали гарнитуру на другом устройстве или когда спаривание не удалось, нам, возможно, придется повторить процедуру сопряжения. Прежде чем мы сможем это сделать, нам, возможно, придется сначала удалить устройство (это делается на шаге 2 выше, нажав -).
Как подключить интернет через смартфон по Bluetooth?
Есть те времена, когда по той или иной причине (например, нехватка электроэнергии и истекший план данных) необходимо срочно получить доступ к Интернету для работы, особенно для ноутбука.
Я, например, должен быть в сети, когда я пишу свои статьи, чтобы я мог правильно исследовать, а иногда мой мобильный маршрутизатор не со мной. Такая чрезвычайная ситуация может быть решена, если у вас есть смартфон с доступом в Интернет, поэтому сегодня мы покажем вам, как привязать Wi-Fi от вашего устройства Android к вашему рабочему столу Ubuntu.
Подключение Ubuntu к WiFi для Android через Bluetooth
1. Сначала включите Bluetooth на обоих устройствах, затем в Ubuntu. Перейдите в настройки Bluetooth и нажмите «+», чтобы подключиться к вашему телефону.
2. Выберите Android-устройство и нажмите «Далее», чтобы продолжить.
3. Появится диалоговое окно с просьбой подтвердить, что вывод, отображаемый на вашем устройстве Android, соответствует тому, который отображается на экране Ubuntu. Если это так, нажмите кнопку «Matches».
4. Теперь оба устройства начнут сопрягаться, и когда это будет завершено, вы можете теперь обмениваться WiFi вашего телефона с системой Ubuntu, включив Bluetooth-модем на вашем Android-устройстве, выполнив следующие шаги:
- Настройки -> Беспроводные сети -> Модем и переносная точка доступа -> Bluetooth-модем
5. Далее:
- Запустите сетевые подключения из раскрывающегося списка WiFi и выберите «Изменить подключения».
- Дважды щелкните, чтобы включить подменю Bluetooth.
- Выберите свою телефонную сеть Android из своего списка WiFi, и ожидайте обработки и подключения.
Вы должны знать, что вы можете просматривать все, что хотите, но соединение будет не так быстро, как обычные скорости WiFi. Используйте это как метод возврата, если вам нужен доступ в Интернет, когда вы в автономном режиме.
Надеюсь, эта настройка Bluetooth в Ubuntu прошла достаточно просто? Пожалуйста, не стесняйтесь задавать вопросы в разделе комментариев, а также добавлять подсказки, если они у вас есть.
Выводы
Как вы поняли, настройка Bluetooth в Ubuntu является очень простой и быстрой. Если у вас остались какие-то вопросы по этой теме — обязательно задавайте их в форму комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Ubuntu Documentation
Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info.
Introduction
Bluetooth is a widely supported local area communications technology for communications with cellphones, headsets, keyboards, mice, PDAs, and storage devices. See also BluetoothRemoteControl and BluetoothAudio on Ubuntu.
Requirements
For a desktop or laptop without Bluetooth support use a Bluetooth dongle that connects through USB. While adapters can be found all over the web some do not work well with free software systems. The free software foundation recommends users purchase hardware with free drivers. Most cards are not clearly marked. ThinkPenguin.com is an exception and explicitly provide support for Ubuntu and other distributions. Alternatively users can investigate free software compatible bluetooth chipsets and try to locate a card based on this information.
For Dell laptops install the latest drivers from Dell’s website in Windows in order for the bluetooth module to work in Linux. (Required for D430 with Gutsy / Hardy and D830 and D630) (http://ubuntuforums.org/showthread.php?t=572335 https://wiki.ubuntu.com/LaptopTestingTeam/DellLatitudeD430#bluetooth)
For Dell laptops with a Dell Wireless 355 Bluetooth card where the card is turned off, reenable the card before installation. Go to a utility in Windows to turn it on before you can reinstall the driver. If you turn the card off in Windows reenable the card so Ubuntu can recognize it.
Installation and Configuration
Ubuntu 10.04 Install via the command line
python-gobject and python-dbus are needed for the python scripts in /usr/share/doc/bluez/examples/ to work.
Here are the scripts located. Discover the hciX location of the dongle with:
Your Bluetooth device will have a different id.
XX:XX:XX:XX:XX:XX is the MAC or BT ADD or BlueTooth Address of the bt device. Press the reset or pair button on your keyboard, simple-agent will ask to specify a pin like 1111, then type that pin on the bt keyboard and your bt keyboard is paired.
To set the device as trusted
To restart the bluetooth daemon.
Check if the device is added:
The last lines will list your device.
Ubuntu 11.04 Install via the command line
python-gobject and python-dbus are needed for the python scripts bluez-simple-agent and bluez-test-device to work.
Discover the hciX location of the dongle with:
Your Bluetooth device will have a different id.
XX:XX:XX:XX:XX:XX is the MAC or BT ADD or BlueTooth Address of the bt device. Press the reset or pair button on your keyboard, simple-agent will ask to specify a pin like 1111, then type that pin on the bt keyboard and your bt keyboard is paired.
To set the device as trusted
To restart the bluetooth daemon.
Check if the device is added:
The last lines will list your device.
Additionally, according to this thread (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=27&t=6838), it may be necessary, after authenticating your keyboard, to run
to actually get the Bluetooth device to connect to the computer (I had to do this when using a Logitech Dinovo Edge with a generic Bluetooth adapter). After this, set the device to be trusted as above, and the connection should persist upon reboot.
Older documentation:
Before you begin open up the terminal and type the following:
Restart the bluetooth server to ensure your pc can communicate with a bluetooth device
By default the BlueTooth notification icon appears, although the service may not. If the service is not running try the service command, otherwise you can now connect.
For jaunty (9:04) and above verify you have a supported adapter connected. When the icon appears, right click and configure your preferences. Devices should auto connect to your PC where you configure your security options.
To configure mail for your phone, install the gnome-bluetooth package so the system finds it in the accessories menu. Send a file by right clicking the file and selecting Send-to. To automate, select System —> Preferences —> Sessions. Add a Startup program. For example you can name it, «Bluetooth File Transfer» and in the Command box, enter «gnome-obex-server». Click OK.
Manual Discovery
Open a terminal window and install the required packages with their dependencies:
Connect your Bluetooth device and restart the Bluetooth services:
Verify your Bluetooth device is detected along with the appropriate modules. View the lsusb (in case of usb device) output: lsusb output:
Review the output of hcitool dev for all your system’s Bluetooth devices.
hcitool dev output:
Your Bluetooth device will have a different id.
- If the id is all zeros, restart the bluez-utils service and retry.
Setup Devices
Find Device Addresses
Locate the device address, make the device discoverable (a «Connect» button for keyboards and mice or check the manual) and search for the device by the following:
Each device’s address has the aa:bb:cc:dd:ee:ff format. Hint: If no devices are shown for Edgy Eft (6.10), try the following:
See bug #70718. If this helps, you may add the hciconfig command (without «sudo») to your /etc/rc.local file for a permanent workaround.
Connect Devices for Current Session Only
For a temporary connection, use the address of the device ‘aa:bb:cc:dd:ee:ff’
You can now connect.
» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> For a "Can't create HID control channel: Connection refused" error, the discovery period timed out. Try again but enter the command more quickly.
Connect Devices at Startup
To connect automatically, edit the configuration file:
Look in the same file for a line close to:
Leave the «—master» command or remove it, it depends on the device. If you have problems with «—master», remove it or vice versa.
Add additional «—connect» arguments for the device you want to connect to at startup:
Save and add HIDP to /etc/modules:
Your Bluetooth devices should now connect at startup.
Using Devices as Modems
Using audio devices
For Bluetooth Headsets specifically refer to BluetoothHeadset
Troubleshooting
«obex://[xx:xx:xx:xx:xx:xx]» is not a valid location.
If you receive this error in Gutsy enter the following:
Although this gives «Couldn’t display «obex://[xx:xx:xx:xx:xx:xx]».» for some. In this case try:
See this forum thread for information.
hcitool scan/dev/inq »’Connection timed out»’ Error
Reset the adapter:
The hcitool options can now connect and if often required despite an automatic connection setup.
Comments
Reboot after you install bluez packages even if your dongle is recognized after installation. 2/8/2009 bluez-gnome bug:
BluetoothSetup (последним исправлял пользователь knome 2013-12-14 00:23:47)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник
Как настроить Bluetooth в Linux сложным путем
Готовясь на работе к ежегодному форуму посвященному IT, возникла идея создать простой манипулятор управляемый беспроводным геймпадом для демонстрации возможностей микроконтроллеров и одноплатных компьютеров. Под рукой был контроллер ТРИК, несколько сервомоторов, железный конструктор и месяц до начала форума.
«Все идет по плану», но не в этом случае.
Этап 1. Подготовка
ТРИК на борту с Linux был перебором для такого манипулятора, но «дело в банальном удобстве использования и обслуживания» (цитата ClusterM про Linux в умном домофоне).
Прочитав спецификацию, было обнаружено, что в нем есть Bluetooth. Если вы работали с этим контроллером, то знаете, что передача программ осуществляется по Wi-Fi и других удобных способов общения с ним нет. В меню нет упоминания о наличии Bluetooth. Но как так?
Вооружившись SSH, отверткой и любопытством я начал искать Bluetooth. В системе присутствовали утилиты hcitool, hciconfig и демон bluetoothd. Все они говорили о том, что его нет.
Обзвонив друзей в поисках внешнего USB модуля, я продолжил искать.
Разобрав контроллер, был найден модуль Jorjin WG7311-0A. В спецификации указано, что, действительно, есть Wi-Fi, Bluetooth и даже FM-радио. Интерфейс для общения с Bluetooth – UART, а включается он через контакт BT_EN.
Прочитав, как Bluetooth модуль подключается по UART через hcitool я испытал удачу и – ничего. Два из трех свободных UART портов молчали.
Но у нас есть контакт BT_EN! Возможно, что модуль просто выключен и не отвечает на запросы. Изучив устройство ядра Linux для ARM устройств, был найден файл, где прописываются все контакты, используемые SoC. Открыв arch/arm/mach-davinci/board-da850-trik.c в исходном коде ядра, и вправду был найден GPIO контакт для Bluetooth. Победа! – подумал я.
Этап 2. Наступление
Для включения контакта через GPIO, нужно найти его сквозной порядковый номер. Находим следующую строчку в коде ядра с запросом на инициализацию контакта BT_EN_33 в arch/arm/mach-davinci/board-da850-trik.c :
В ней используется макрос GPIO_TO_PIN. Смотрим описание макроса в arch/arm/mach-davinci/include/mach/gpio-davinci.h :
При помощи его и можно узнать сквозной номер контакта. Получаем, что 16 * 6 + 11 = 107. Теперь перейдем к включению контакта.
0 или 1 в команде echo является состоянием контакта.
Запускаем команду на подключение и.
непонятные для нас (на данный момент) сообщения об ошибке. Пробуем настроить устройство через hcitool:
Устройств нет, хотя инициализация якобы прошла. Пробуем подключиться второй раз, но с другим типом адаптера:
И вновь ничего. Давайте вернемся к первой ошибке и применим знания английского языка:
Открываем папку /lib/firmware с прошивками и не находим нужного файла. После долгих поисков в интернете, находим на репозиторие TI нужный файл и скачиваем его. Другие версии этого же файла работать отказывались.
Перезагружаем контроллер и подключаемся вновь:
Ура! Прошивка загрузилась. Проверяем hciconfig:
Запускаем службу bluetoothd, сканирование устройств и обнаружение нашего модуля:
Поиск на компьютере обнаруживает устройство:
Для включения Bluetooth можно сделать скрипт:
И добавить его в автозапуск:
Перезапуск и отключение модуля ведут себя непредсказуемо, поэтому варианты stop и restart не имеют никаких команд.
Этап 3. Проверка связи
Самый простой способ проверки связи в обе стороны – служба COM-порта. При помощи нескольких команд включаем её:
Подключаемся с телефона и видим приглашение на вход в систему:
Ни один из проверенных терминалов не дал ввести пустой пароль пользователя, поэтому пришлось отправить данные для входа при помощи перенаправления потоков в SSH-сессии.
Этап 4. ./configure && make
Следуя инструкциям по подключению геймпада в Linux мы сталкиваемся со следующими проблемами:
- BlueZ в дистрибутиве устарел и не понимает команд от демона sixad, который устанавливает связь с геймпадом
- Новая версия BlueZ из исходных кодов отказывается компилироваться из-за множества зависимостей
- BlueZ из свежего Debian требует udev и systemd, которые отсутствуют в текущем дистрибутиве
Единственную зависимость, которую получилось удовлетворить – это модуль ядра uinput.
- получаем конфигурацию текущего ядра на устройстве
- скачиваем код ядра
- скачиваем и устанавливаем toolchain
- копируем конфигурацию ядра в папку с кодом ядра
- добавляем модуль uinput в конфигурацию
- запускаем сборку, предварительно включив toolchain
- копируем модули ядра на карту памяти
- собираем образ uBoot и копируем в /boot
Теперь программа не ругается на отсутствие модуля ядра, но дальше мы не можем ничего сделать. Инструкция для геймпада нам пригодится чуть позже.
Этап 5. Варим кашу из топора
Приступаем к плану «тяп-ляп». Раз нет удобного способа поставить нужные программы на оригинальный дистрибутив, то поставим что-нибудь популярное. Процессор имеет архитектуру ARMv5TE, значит и дистрибутивы есть под неё.
Пробуем распаковать и запустить универсальный Arch Linux для ARM и при загрузке в консоли видим, что systemd требует ядро более новой версии, чего у нас нет. Попытки переноса ядра 4.16 не увенчались огромным успехом и на это было потрачено слишком много времени.
Переходим к другому варианту – Debian. Образ диска с установленной системой для ARM существует, но лучше поставить чистую систему с нужными для нас пакетами и настройками.
Установка в QEMU
Скачиваем установочный образ (ссылка на .iso) и устанавливаем QEMU.
Также нам нужны ядро и образ initrd для загрузки установки, которые можно скачать отсюда.
Создаем образ карты памяти с объемом настоящей карты памяти (в данном случае 4 Гб):
Если вы собираетесь сделать разметку диска нестандартной относительного оригинального дистрибутива, то оставьте корневой раздел первым, иначе придется менять параметры загрузки ядра в uBoot. Там прописан номер раздела на котором находится корневая файловая система.
Стандартная разметка содержит:
- Раздел EXT4 для корневой файловой системы размером ≈ 1,3 Гб
- Раздел FAT32 для хранения данных пользователя размером ≈ 500 Мб
Вывод fdisk для образа оригинального дистрибутива:
После настройки параметров уходим пить несколько чашек чая, т.к. эмулятор ненамного быстрее настоящего ARM процессора.
Для запуска установленной системы потребуется другой образ initrd, который можно взять отсюда.
Настройка системы
После запуска входим в суперпользователя, проверяем связь с интернетом, обновляем репозитории и систему, ставим минимальный набор программ:
Терминалы
Редактируем /etc/inittab , убираем лишние терминалы, включаем нужный для нас UART и добавляем автовход для нужного пользователя (используйте root только при отладке). Автовход пригодится, если вы планируете запускать оболочку для управления на контроллере.
Bluetooth и Wi-Fi
Устанавливаем bluez-utils и wpasupplicant для доступа к Wi-Fi и Bluetooth.
Отключаем интерфейс eth0 и настраиваем интерфейс wlan1 в /etc/network/interfaces :
Добавляем заранее сеть в /etc/wpa_supplicant.conf , т.к. делать это на самом контроллере не так удобно:
Если у вас нет доступа к Wi-Fi, вы можете использовать UART для дальнейшей настройки, но учтите, что по умолчанию ядро выводит в данный терминал все ошибки. Поэтому во время работы вас может прервать внезапное сообщение от ядра или службы.
Добавляем скрипт на включение Bluetooth. В этот раз, модифицируем /etc/init.d/bluetooth :
Таким образом, все службы, которые требуют службу Bluetooth, будут запускать необходимые команды для инициализации.
Взмах влево, взмах вправо
Убираем ненужные программы и службы которые можно посмотреть при помощи htop, ведь они занимают драгоценное место в ОЗУ:
В данном случае, служба ConsoleKit имеет очень много процессов. Переместим файл этой службы в домашнюю папку суперпользователя на случай восстановления:
До отключения службы потребление ОЗУ было 19 Мб, а после – 16 Мб.
Разделы системы
Хоть uBoot и передает ядру устройство, на котором расположен корневой раздел, стоит прописать его в /etc/fstab для надежности. Изменяем первую строчку, отвечающую за корневой раздел:
Если вы сделали корневой раздел не первым, не забудьте указать нужный номер раздела.
Если вы оставили второй раздел FAT для пользовательских данных, то вам необходимо создать папку для монтирования раздела в неё
и прописать раздел в /etc/fstab :
Этап 6. Пробуем нашу кашу
Настроив образ системы, необходимо примонтировать его для установки модулей ядра и самого ядра:
где, NNNN = размер сектора * начало раздела. Размер сектора по умолчанию равен 512 байтам.
Монтируем также и оригинальный дистрибутив:
Удаляем ядро для QEMU и его модули, т.к. они не предназначены для нашей платформы. Копируем новое ядро и модули, так же, как и на оригинальном дистрибутиве.
Нам понадобятся прошивки для Wi-Fi модуля, которые есть в оригинальном дистрибутиве в папке /lib/firmware и прошивка Bluetooth, которую мы нашли ранее.
Отсоединяем образы дисков:
И запускаем копирование образа на карту памяти с помощью dd:
Этап 7. Финишная прямая
Компилируем программы для подключения геймпада на новой системе и устанавливаем демон sixad.
Подключаем геймпад через USB к контроллеру и запускаем программу для создания пары:
При подключении геймпада ничего не происходит и служба sixad молчит:
Но в сообществе Raspberry Pi уже изготовили «костыль» для исправления подключения.
Пересобираем программу и радуемся.
Теперь геймпад доступен системе как устройство ввода и программа jstest покажет состояние всех кнопок и аналоговых датчиков:
где X – номер устройства в системе, по умолчанию – 2. Номера кнопок и осей можно посмотреть здесь.
Используем на практике
Видео с демонстрацией работы геймпада на YouTube.
Загрузка ядра:
Терминал, запущенный в X11:
И по традиции:
Полезные ссылки
Программы для подключения геймпада Dualshock 3 – sixpair и sixad.
Для геймпадов и других устройств ввода есть легкая библиотека на C – libenjoy.
Исходный код программы для управления сервомоторами и моторами – репозиторий GitHub.
Все файлы конфигурации из статьи для самодельного дистрибутива – репозиторий GitHub.
Интересные факты о контроллере
- В спецификации заявлено, что объем ОЗУ составляет 256 Мб. Но если вы запустите htop, то увидите, что доступно только 128 Мб. Это ограничено параметрами ядра, которые можно посмотреть в консоли uBoot:
Чип памяти имеет маркировку 3PC22 D9MTD производства Micron. Найти информацию о его настоящем объеме не удалось.
- uBoot хранится на SPI флэш-памяти в которой также зашито ядро, и оно не используется. Вы можете попробовать использовать это место для своих задач или скопировать новое ядро и перенастроить uBoot, чтобы он его использовал.
Адреса образов из dmesg:
- Экран у контроллера хоть и небольшой, но на самом деле имеет резистивный сенсор. Подключен ли сам сенсор – неизвестно.
- Dualshock 3 имеет светодиоды у разъема USB, которые показывают номер геймпада/джойстика. В видео присутствует один геймпад, но номер у него 3. Это не ошибка, т.к. в системе присутствуют ещё два «джойстика»: акселерометр и гироскоп.
Источник