Купил для супруги бюджетный ноут Lenovo b590.
Обычная средненькая по нынешним меркам машина. Поставляется с минимально установленной FreeDOS - только чтобы загрузить и убедиться, что оно грузится.
Накатил на нее Ubuntu Trusty (14.04)/64. Выяснилось две проблемы:
1. не работает wi-fi
2. не работает bluetooth
Первое решилось довольно быстро установкой проприетарного драйвера из штатного пакета bcmwl-kernel-source. Если подключать этот драйвер с liveCD, он подключается нормально. При установке на бук - тоже установился нормально. Но моя загрузочная флешка, сделанная нестандартно - как полноценный диск ради эксперимента, отказалась его ставить. Пришлось явно устанавливать этот пакет.
Ну, заработало и заработало, замечательно.
А вот блютус упорно брыкался. Причем только встроенный - взял проверенно рабочую затычку, она прекрасно определилась и заработала. Но что странно:
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 105b:e065
Bus 001 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 003: ID 5986:0295 Acer, Inc
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Нету устройства от Broadcom, однако? Погуглил по единственному анонимному устройству 105b:e065 и угадал - это оно.
Выяснилось, что firmware для этих модулей не включают в ядро, ибо проприетарщина и нет желания возиться с лицензиями. Можно выдернуть некий .hex файл из виндовых драйверов, скачанных отсюда http://support.lenovo.com/ru_RU/downloads/detail.page?DocID=DS032618. По опыту знаю, что файлы прошивок обычно крошечные, и качать 200+ мегабайт барахла ради одного файлика нет смысла. К тому же, его надо конвертировать из какого-то формата в какой-то другой, для чего нужно поставить конвертер и т.д. Не интересно.
Не буду долго и нудно расписывать, что и как искал, в конце концов поиски привели меня на эту страницу https://bugzilla.kernel.org/show_bug.cgi?id=73411. Там попалась прелестная ссылка:
This device needs firmware. I saved my firmware in hex and in hcd:
http://ubuntuone.com/6Ot6DpIq2NxVaNNX41kjxX
http://ubuntuone.com/4Hwjcc5kfG2ggIPumdCSFI
По ней и скачал уже готовый .hcd файл, который сначала скопировал в /lib/firmware/brcom и переустановил модуль btusb:
#modprobe -r btusb
#modprobe btusb
Однако, не помогло. Причем - справедливо, поскольку везде упоминалось, что класть надо просто в /lib/firmware. Переложил, снова переустановил модуль. Заработало.
update 20140614: не знаю, поможет это или нет, но файл в /lib/firmware я переименовал по рекомендации оттуда же, и забыл об этом:
$ ls -la `locate hcd|grep firmware`
-rw-r--r-- 1 root root 28681 мая 6 15:13 /lib/firmware/brcm/BCM43142A0_001.001.011.0161.0172.hcd
-rw-r--r-- 1 root root 28681 мая 6 15:17 /lib/firmware/fw-105b_e065.hcd
Поскольку U1 скоро закрывается, то я скопировал эти файлы в свой гуглодиск, вдруг пригодятся...
https://drive.google.com/folderview?id=0B96njm8lw0yTNVBUNmJueXNMdGc&usp=sharing
Там берем файл BCM43142A0_001.001.011.0161.0172.hcd и будет нам щастте.

