Если инфорация оказалась интересна и/или полезна, не побрезгуйте, оставьте комментарий ;)
Показаны сообщения с ярлыком WiFi. Показать все сообщения
Показаны сообщения с ярлыком WiFi. Показать все сообщения

пятница, 13 мая 2022 г.

Модуль ядра для Wi-Fi карт RTL88x2bu (AC1200) на Ubuntu (22.04)

На Алике заказал вайфайный свисток для сервера. Из коробки не завелся

evgeniy@micro-gen10plus:~$ ip link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1:  mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d0 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f0
3: usb0:  mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether de:a3:3f:b4:d8:70 brd ff:ff:ff:ff:ff:ff
4: eno2:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d1 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f1
5: eno3:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d2 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f2
6: eno4:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d3 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f3

evgeniy@micro-gen10plus:~$ lshw |grep -A 5 -n network
WARNING: you should run this program as super-user.
142:           *-network:0
143-                description: Ethernet interface
144-                product: I350 Gigabit Network Connection
145-                vendor: Intel Corporation
146-                physical id: 0
147-                bus info: pci@0000:02:00.0
--
158:           *-network:1
159-                description: Ethernet interface
160-                product: I350 Gigabit Network Connection
161-                vendor: Intel Corporation
162-                physical id: 0.1
163-                bus info: pci@0000:02:00.1
--
173:           *-network:2
174-                description: Ethernet interface
175-                product: I350 Gigabit Network Connection
176-                vendor: Intel Corporation
177-                physical id: 0.2
178-                bus info: pci@0000:02:00.2
--
188:           *-network:3
189-                description: Ethernet interface
190-                product: I350 Gigabit Network Connection
191-                vendor: Intel Corporation
192-                physical id: 0.3
193-                bus info: pci@0000:02:00.3
--
379:  *-network:0
380-       description: Ethernet interface
381-       physical id: 7
382-       bus info: usb@1:4
383-       logical name: usb0
384-       serial: de:a3:3f:b4:d8:70

При этом само USB-устройство видно

evgeniy@micro-gen10plus:~$ lsusb
Bus 001 Device 002: ID 03f0:2927 HP, Inc Virtual NIC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 0424:2660 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 002 Device 003: ID 258a:002a SINO WEALTH Gaming KB
Bus 002 Device 002: ID 0bda:b812 Realtek Semiconductor Corp. RTL88x2bu [AC1200 Techkey]
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Нужно установить пакет "rtl8812au-dkms". Ставим зависимости:
evgeniy@micro-gen10plus:~$ sudo apt-get install linux-headers-generic build-essential dkms

Проверяем, что не загружен старый драйвер:
evgeniy@micro-gen10plus:~$ sudo rmmod rtl8812au
rmmod: ERROR: Module rtl8812au is not currently loaded

Затем ставим сам пакет

evgeniy@micro-gen10plus:~$ sudo apt-get install rtl8812au-dkms
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Следующие НОВЫЕ пакеты будут установлены:
  rtl8812au-dkms
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1 154 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 8 906 kB.
Пол:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 rtl8812au-dkms all 4.3.8.12175.20140902+dfsg-0ubuntu15 [1 154 kB]
Получено 1 154 kB за 2s (479 kB/s)
Выбор ранее не выбранного пакета rtl8812au-dkms.
(Чтение базы данных … на данный момент установлено 114428 файлов и каталогов.)
Подготовка к распаковке …/rtl8812au-dkms_4.3.8.12175.20140902+dfsg-0ubuntu15_all.deb …
Распаковывается rtl8812au-dkms (4.3.8.12175.20140902+dfsg-0ubuntu15) …
Настраивается пакет rtl8812au-dkms (4.3.8.12175.20140902+dfsg-0ubuntu15) …
Loading new rtl8812au-4.3.8.12175.20140902+dfsg DKMS files...
Building for 5.15.0-30-generic
Building initial module for 5.15.0-30-generic
Secure Boot not enabled on this system.
Done.

8812au.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.15.0-30-generic/updates/dkms/

depmod...
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

После перезагрузки проверяем:

evgeniy@micro-gen10plus:~$ ip link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1:  mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d0 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f0
3: usb0:  mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether de:a3:3f:b4:d8:70 brd ff:ff:ff:ff:ff:ff
4: eno2:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d1 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f1
5: eno3:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d2 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f2
6: eno4:  mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:fd:45:ff:45:d3 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f3
7: wlx1cbfcebfcab5:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 1c:bf:ce:bf:ca:b5 brd ff:ff:ff:ff:ff:ff

evgeniy@micro-gen10plus:~$ lshw |grep -A 5 -n network
WARNING: you should run this program as super-user.
142:           *-network:0
143-                description: Ethernet interface
144-                product: I350 Gigabit Network Connection
145-                vendor: Intel Corporation
146-                physical id: 0
147-                bus info: pci@0000:02:00.0
--
158:           *-network:1
159-                description: Ethernet interface
160-                product: I350 Gigabit Network Connection
161-                vendor: Intel Corporation
162-                physical id: 0.1
163-                bus info: pci@0000:02:00.1
--
173:           *-network:2
174-                description: Ethernet interface
175-                product: I350 Gigabit Network Connection
176-                vendor: Intel Corporation
177-                physical id: 0.2
178-                bus info: pci@0000:02:00.2
--
188:           *-network:3
189-                description: Ethernet interface
190-                product: I350 Gigabit Network Connection
191-                vendor: Intel Corporation
192-                physical id: 0.3
193-                bus info: pci@0000:02:00.3
--
379:  *-network:0
380-       description: Ethernet interface
381-       physical id: 7
382-       bus info: usb@1:4
383-       logical name: usb0
384-       serial: de:a3:3f:b4:d8:70
--
387:  *-network:1 DISABLED
388-       description: Wireless interface
389-       physical id: 8
390-       bus info: usb@2:2
391-       logical name: wlx1cbfcebfcab5
392-       serial: 1c:bf:ce:bf:ca:b5

Источник

воскресенье, 6 декабря 2020 г.

Wi-Fi-адаптер на чипе Realtek в OSMC (Debian, Ubuntu). Как заставить работать

-------------------------------------

2021-09-14

В августовском обновлении системы пришло новое ядро 5.10.32. С ним драйвер из указанного ниже репозитория Гитхаба не собирается. Очень надеюсь, что автор репозитория модифицирует код под новое ядро. Пока приведенная ниже схема не работает (на этапе компиляции).

Это обновление принесло и еще одну проблему - сломался SSH-доступ к OSMC. Даже чистая установка не исправляет проблему. А без доступа по SSH драйвер можно собирать только локально подключив клавиатуру, монитор и кабель с интернетом.

 Поэтому перешел на LibreElec. В нем драйверы Realtek есть в базе, и автор не грозится их удалить. Есть у системы и свои особенности, например, слабые возможности командной строки. Отключена команда apt-get. Нельзя доставить пакеты, например, редактор vim. 

-------------------------------------

Моя Малинка дала сбой. Перестала загружаться. Печальный смайлик и дальше всё. Логи ясности не внесли. Не нашел даже подходящей строки для поиска в Гугле. Абстрактные запросы тоже ничего не дали. fsck криминала не нашел. Принял решение обновить систему. Пришлось побороться с неразрешенными зависимостями и невозмжностью обновить некоторые файла. Склоняюсь к тому, что либо флешка уже начала дохнуть, либо файловая система накопила ошибки от периодических выключений без "мягкого" выключения.

Не относится напрямую к настройке Wi-Fi. как запустить fsck для корневого раздела:

1. Можно сделать файл в корне и перегрузить устройство:

osmc@osmc:~$ sudo touch /forcefsck
osmc@osmc:~$ sudo reboot

2. Подправить /etc/fstab, заменив для раздела 0 на 1:

osmc@osmc:~$ sudo nano /etc/fstab
osmc@osmc:~$ /dev/mmcblk0p1  /boot    vfat     defaults,noatime    0   0
osmc@osmc:~$ /dev/mmcblk0p2  /    ext4      defaults,noatime    0   1

Теперь к основной теме статьи. Тут я писал, что в новом ядре для OSMC 4.19 был удален драйвер для чипов беспроводных адаптеров Realtek. Тогда моим предложением было откатиться на старую версию ядра 4.14. Но в этот раз у меня такой возможности не было. Система была полностью обновлена.

Итак. Подключаем Raspberry к проводной сети.

Точка старта. Общий ход сборки и установки драйвера:
https://discourse.osmc.tv/t/usb-wifi-device-wth-rtl8812au-chipset-is-not-working/84070

Прямое следование инструкции мне не помогло.

1. Устанавливаем необходимые пакеты:

osmc@osmc:~$ sudo apt-get install  rbp2-headers-$(uname -r)
osmc@osmc:~$ sudo apt-get install  rbp2-source-$(uname -r)
osmc@osmc:~$ sudo apt install libc6-dev libc-dev make binutils
osmc@osmc:~$ sudo apt install gcc
osmc@osmc:~$ sudo apt install git
osmc@osmc:~$ sudo apt install usbutils
osmc@osmc:~$ apt-get install build-essential dkms

Одной командой поставить не получилось. Система писала, что не ясно, какой GCC ставит

2. Выясняем, какой драйвер нам нужен. В моем адаптере чип RTL8192EU. Именно для него и надо искать драйвер

osmc@osmc:~$ lsusb
Bus 001 Device 005: ID 05ac:0256 Apple, Inc.
Bus 001 Device 004: ID 0bda:818b Realtek Semiconductor Corp. RTL8192EU 802.11b/g/n WLAN Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 3. Делаем каталог, в котором будем работать:

osmc@osmc:~$ cd ~
osmc@osmc:~$ mkdir ~/realtek
osmc@osmc:~$ cd ~/realtek

4. Теперь ищем и копируем драйвер. У автора исходной статьи был адаптер на чипе RTL8812AU. По его ссылке лежит драйвер, работающий именно с этим чипом. Я не обратил на это внимание, собрал драйвер, и у меня ничего не заработало. Потратил время на поиск причины.

Да, можно открыть Makefile и отредактировать его, выбрав сборку драйвера для другого чипа. Но в моем случае это приводило к ошибке сборки. Поэтому рекомендую просто искать правильный драйвер. Моя ссылка поиска (ключевые слова “RTL8192E linux arm”)
https://github.com/search?q=RTL8192E+linux+arm 

Прежде чем собирать драйвер, изучите Makefile, чтобы не тратить время на сборки впустую:

 а. Должен быть выбран правильный чип. Только напротив него должен стоять "y":

CONFIG_MULTIDRV = n
CONFIG_RTL8188E = n
CONFIG_RTL8812A = n
CONFIG_RTL8821A = n
CONFIG_RTL8192E = y
CONFIG_RTL8723B = n
CONFIG_RTL8814A = n
CONFIG_RTL8723C = n
CONFIG_RTL8188F = n
CONFIG_RTL8188GTV = n
CONFIG_RTL8822B = n
CONFIG_RTL8723D = n
CONFIG_RTL8821C = n
CONFIG_RTL8710B = n
CONFIG_RTL8192F = n

Если выбран другой чип в настройках, вы можете его изменить, но нет гарантии, что драйвер собереться, исходники, по моему опыту, не универсальные и собираются только для опеределенных чипов.

б. Проверяем тип интерфейса, в моем случае это USB:
######################### Interface ###########################
CONFIG_USB_HCI = y
CONFIG_PCI_HCI = n
CONFIG_SDIO_HCI = n
CONFIG_GSPI_HCI = n

в. Платформа, для которой будет сборка:





###################### Platform Related #######################
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ANDROID_INTEL_X86 = n
CONFIG_PLATFORM_JB_X86 = n
CONFIG_PLATFORM_ARM_S3C2K4 = n
CONFIG_PLATFORM_ARM_PXA2XX = n
CONFIG_PLATFORM_ARM_S3C6K4 = n
CONFIG_PLATFORM_MIPS_RMI = n
CONFIG_PLATFORM_RTD2880B = n
CONFIG_PLATFORM_MIPS_AR9132 = n
CONFIG_PLATFORM_RTK_DMP = n
CONFIG_PLATFORM_MIPS_PLM = n
CONFIG_PLATFORM_MSTAR389 = n
CONFIG_PLATFORM_MT53XX = n
CONFIG_PLATFORM_ARM_MX51_241H = n
CONFIG_PLATFORM_FS_MX61 = n
CONFIG_PLATFORM_ACTIONS_ATJ227X = n
CONFIG_PLATFORM_TEGRA3_CARDHU = n
CONFIG_PLATFORM_TEGRA4_DALMORE = n
CONFIG_PLATFORM_ARM_TCC8900 = n
CONFIG_PLATFORM_ARM_TCC8920 = n
CONFIG_PLATFORM_ARM_TCC8920_JB42 = n
CONFIG_PLATFORM_ARM_TCC8930_JB42 = n
CONFIG_PLATFORM_ARM_RK2818 = n
CONFIG_PLATFORM_ARM_RK3066 = n
CONFIG_PLATFORM_ARM_RK3188 = n
CONFIG_PLATFORM_ARM_URBETTER = n
CONFIG_PLATFORM_ARM_TI_PANDA = n
CONFIG_PLATFORM_MIPS_JZ4760 = n
CONFIG_PLATFORM_DMP_PHILIPS = n
CONFIG_PLATFORM_MSTAR_TITANIA12 = n
CONFIG_PLATFORM_MSTAR = n
CONFIG_PLATFORM_SZEBOOK = n
CONFIG_PLATFORM_ARM_SUNxI = n
CONFIG_PLATFORM_ARM_SUN6I = n
CONFIG_PLATFORM_ARM_SUN7I = n
CONFIG_PLATFORM_ARM_SUN8I_W3P1 = n
CONFIG_PLATFORM_ARM_SUN8I_W5P1 = n
CONFIG_PLATFORM_ACTIONS_ATM702X = n
CONFIG_PLATFORM_ACTIONS_ATV5201 = n
CONFIG_PLATFORM_ACTIONS_ATM705X = n
CONFIG_PLATFORM_ARM_SUN50IW1P1 = n
CONFIG_PLATFORM_ARM_RTD299X = n
CONFIG_PLATFORM_ARM_LGE = n
CONFIG_PLATFORM_ARM_SPREADTRUM_6820 = n
CONFIG_PLATFORM_ARM_SPREADTRUM_8810 = n
CONFIG_PLATFORM_ARM_WMT = n
CONFIG_PLATFORM_TI_DM365 = n
CONFIG_PLATFORM_MOZART = n
CONFIG_PLATFORM_RTK119X = n
CONFIG_PLATFORM_RTK119X_AM = n
CONFIG_PLATFORM_RTK129X = n
CONFIG_PLATFORM_RTK390X = n
CONFIG_PLATFORM_NOVATEK_NT72668 = n
CONFIG_PLATFORM_HISILICON = n
CONFIG_PLATFORM_HISILICON_HI3798 = n
CONFIG_PLATFORM_NV_TK1 = n
CONFIG_PLATFORM_NV_TK1_UBUNTU = n
CONFIG_PLATFORM_RTL8197D = n
CONFIG_PLATFORM_AML_S905 = n
CONFIG_PLATFORM_ZTE_ZX296716 = n


 В некоторых репозиториях, найденных на GitHub, не было нужной мне платформы "ARM_RPI" (Raspberry PI 2)

Итак, мне подошел репозиторий https://github.com/lord2y/rtl8192eu-arm-linux-driver. Копируем его себе:
osmc@osmc:~$ git clone https://github.com/lord2y/rtl8192eu-arm-linux-driver

5. Нужно сделать ссылку на заголовки ядра:
osmc@osmc:~$ sudo ln -s /usr/src/rbp2-headers-$(uname -r) /lib/modules/$(uname -r)/build

6. Этот пункт потребуется, если будет та же ошибка, что у автора исходной инструкции (я не переделывал его вывод команды, на смысл это не влияет):

osmc@osmc:~/ rtl8812au$ make
make ARCH=arm CROSS_COMPILE= -C /lib/modules/4.19.55-6-osmc/build M=/home/osmc/rtl8812au modules
make[1]: Entering directory '/usr/src/rbp2-headers-4.19.55-6-osmc'
     CC [M] /home/osmc/rtl8812au/core/rtw_cmd.o
In file included from ./include/linux/compat.h:16:0,
                         from ./include/linux/ethtool.h:17,
                         from ./include/linux/netdevice.h:41,
                         from /home/osmc/rtl8812au/include/osdep_service_linux.h:35,
                         from /home/osmc/rtl8812au/include/osdep_service.h:41,
                         from /home/osmc/rtl8812au/include/drv_types.h:32,
                         from /home/osmc/rtl8812au/core/rtw_cmd.c:22:
./include/linux/if.h:28:54: fatal error: sys/socket.h: No such file or directory
 #include <sys/socket.h> /* for struct sockaddr. */
                                                                          ^
compilation terminated.


Ошибка в наличие файла заголовков socket.h. Если это произошло, то надо скачать  исходники ядра с kernal.org.

Нужно выбрать правильную версию исходников. В моем случае ядро 4.19.122. Проверить можно командой "uname -r".

osmc@osmc:~/ cd ~/realtek    
osmc@osmc:~/ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.122.tar.xz
osmc@osmc:~/ tar xf linux-4.19.122.tar.xz

Убираем старый каталог ../include/linux и копируем туда содержимое соответствующего каталога распакованного архива.
osmc@osmc:~/ sudo mv /usr/src/rbp2-headers-4.19.122-2-osmc/include/linux/ /usr/src/rbp2-headers-4.19.122-2-osmc/include/linux-bak
osmc@osmc:~/ sudo cp -ar linux-4.19.122/include/linux /usr/src/rbp2-headers-4.19.122-2-osmc/include/

Проверяем, что всё на месте:
osmc@osmc:~/ ls /usr/src/rbp2-headers-4.19.122-2-osmc/include/linux

 7. Итак, наконец, сборка. Подробная инструкция есть в репозитории https://github.com/lord2y/rtl8192eu-arm-linux-driver:

osmc@osmc:~/ cd ~/realtek/rtl8192eu-arm-linux-driver/
osmc@osmc:~/ ls
osmc@osmc:~/ less Makefile
osmc@osmc:~/ make ARCH=arm
osmc@osmc:~/ make install
osmc@osmc:~/ sudo make install

Процедура сборки занимает некоторое время.

8. Проверяем, что модуль ядра поставился:

osmc@osmc:~$ lsmod |grep 8192
8192eu               1445888  0
cfg80211              651264  1 8192eu
snd                    81920  3 snd_timer,snd_bcm2835,snd_pcm

 

Обновление

---

Если в предыдущем выводе только последняя строка, то надо выполнить

osmc@osmc:~$ modprobe 8192eu

---

Проверяем, что появился новый интерфейс в ifconfig:

osmc@osmc:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.1
        ether b8:27:eb:01:e6:26  txqueuelen 1000  (Ethernet)
        RX packets 1921  bytes 282385 (275.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1087  bytes 206934 (202.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 144  bytes 7228 (7.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 144  bytes 7228 (7.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.3  netmask 255.255.255.0  broadcast 192.168.1.1
        ether 40:a5:ef:07:da:44  txqueuelen 1000  (Ethernet)
        RX packets 38  bytes 6940 (6.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 63  bytes 16454 (16.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

9. Если всё хорошо, драйвер установился и наша карта заработала, надо настроить автоматическую пересборку модуля при обновлении ядра.

Удаляем модули:

osmc@osmc:~$ dkms uninstall rtl8192eu/1.0 
osmc@osmc:~$ dkms remove rtl8192eu/1.0 --all

И заново собираем через dkms. Первая команда копирует код в дерево, вторая собирает и устанавливает модуль ядра:
osmc@osmc:~$ dkms add .
osmc@osmc:~$ dkms install rtl8192eu/1.0

10. Можно из консоли подключиться к точке доступа для окончательной проверки работоспособности собранного драйвера:

https://gist.github.com/kylemanna/6930087 

Сканируем сети:

osmc@osmc:~$ sudo connmanctl scan wifi
Scan completed for wifi

Обновление

---

Во второй раз у меня выскочила такая ошибка
Error /net/connman/technology/wifi No carrier


Лечение найдено тут

osmc@osmc:~$ sudo connmanctl en
able wifi
osmc@osmc:~$ sudo connmanctl technologies
osmc@osmc:~$ sudo rfkill unblock wifi
osmc@osmc:~$ sudo ip link set wlan0 up
osmc@osmc:~$ sudo connmanctl
> disable wifi
> enable wifi
> agent on

Программа rfkill скорее всего не установлена. Ее надо установить через apt get

После этого повторяем команду

osmc@osmc:~$ sudo connmanctl scan wifi
Scan completed for wifi

---

Смотрим, что нашли:

osmc@osmc:~$ sudo connmanctl services
*AO Wired                ethernet_b827eb01e626_cable
    Mgts10               wifi_40a5ef07da44_4d6774733130_managed_psk
    MGTS_GPON_BEDD       wifi_40a5ef07da44_4d4754535f47504f4e5f42454444_managed_psk
    MGTS_GPON_0777       wifi_40a5ef07da44_4d4754535f47504f4e5f30383235_managed_psk
    NETGEAR              wifi_40a5ef07da44_4e455447454152_managed_psk
    Keenetic-8888        wifi_40a5ef07da44_4b65656e657469632d33393234_managed_psk
    MGTS_16              wifi_40a5ef07da44_4d4754535f3136_managed_psk
    MGTS_GPON_9999       wifi_40a5ef07da44_4d4754535f47504f4e5f38353136_managed_ps

Смотрим информацию какой-нибудь сети:

osmc@osmc:~$ sudo connmanctl services wifi_40a5ef07da44_4d6774733130_managed_psk
/net/connman/service/wifi_40a5ef07da44_4d6774733130_managed_psk
  Type = wifi
  Security = [ psk ]
  State = idle
  Strength = 68
  Favorite = False
  Immutable = False
  AutoConnect = False
  Name = Mgts10
  Ethernet = [ Method=auto, Interface=wlan0, Address=40:A5:EF:07:DA:44, MTU=1500 ]
  IPv4 = [  ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=off ]
  Nameservers = [  ]
  Nameservers.Configuration = [  ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [  ]
  Domains.Configuration = [  ]
  Proxy = [  ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]
osmc@osmc:~$


Редактируем настройки подключения к выбранной сети:

osmc@osmc:~$ sudo nano /var/lib/connman/wifi_40a5ef07da44_4d6774733130_managed_psk.config
  [wifi_40a5ef07da44_4d6774733130_managed_psk]
  Type = wifi
  Name = wifi_40a5ef07da44_4d6774733130_managed_psk
  Passphrase = <passphrase>

Подключаемся:
osmc@osmc:~$ connmanctl connect wifi_40a5ef07da44_4d6774733130_managed_psk
Connected wifi_40a5ef07da44_4d6774733130_managed_psk

11. Всё можно идти в графический интерфейс и настраивать систему. 

 Если есть вопросы, пишите, если что-то пошло не так, вы нашли как это исправить, тем более пишите. 

P.S.

Скомпилированные драйверы под разные ядра. К сожалению, с текущим 5.10.32-2-osmc у меня не завелся. Ссылка на будущее.

http://downloads.fars-robotics.net/wifi-drivers/8192eu-drivers/

Найдено тут.

суббота, 2 ноября 2019 г.

OSMC. Перестал работать WiFi. Есть решение со сбокой модуля ядра для Wi-Fi-адаптера

Так всё было хорошо с OSMC много лет. И тут раз, и разработчики сломали сеть. Пояснение от разработчиков:
got sick of rebasing Realtek patches for new kernels constantly, and so a few drivers have been dropped and won’t be re-added until they are upstreamed. You can either stay on the older version or purchase a WiFi adapter.
Since Raspberry Pi and Vero has 802.11ac built in WiFi in recent models, the numbers haven’t been there to justify the hours of work to maintain these chipset drivers out of tree.
Other distributions are doing the same, and also plan to drop out of tree Realtek driver support in the near future.
Высказать радость по поводу случившегося можно тут:
https://osmc.tv/2019/11/osmcs-october-update-is-here-with-kodi-18-4/

Если кратко, то разработчик замучился встраивать драйверы Realtek в ядра. Как я понял, драйверы давно не обновлялись. Типа, так делают все разработчики. Но мне, как пользователю, от этого не легче.

Итак, как быть? Дискуссия по этому поводу идет тут:
https://discourse.osmc.tv/t/no-wi-fi-connection-after-update/82829/6
Пока единственный путь - вернуться на старую версию ядра, в котором драйверы еще есть.
Первая испорченная версия OSMC с Kodi - 18.4, версия ядра 4.19. Надо вернуться на предыдущую версию ядра. У меня это 4.14. У вас должно быть также, если вы регулярно обновляли ОС. К счастью для нас, если настройки не менялись вручную через командную строку, то на диске остается предыдущая версия ядра. Соответственно у меня 4.19 - новая версия, неработающая, 4.14 - старая, на которую надо вернуться.

Приставку надо подключить к сети. Очевидный путь - проводное соединение. Если у вас DHCP, на роутере в списке устройств, получивших адрес находим наше и запоминаем IP-адрес, например, 192.168.1.10:

user@Laptop:~$ ssh osmc@192.168.1.10

Пароль по умолчанию - "osmc"

Чтобы узнать наверняка, какое есть последнее рабочее ядро, выполняем команду:
osmc@osmc:~$ sudo find / -name rbp2-image*
/usr/share/doc/rbp2-image-4.14.78-4-osmc
/usr/share/doc/rbp2-image-4.19.55-3-osmc
/var/cache/apt/archives/rbp2-image-4.14.34-2-osmc_2_armhf.deb
/var/cache/apt/archives/rbp2-image-4.14.34-1-osmc_1_armhf.deb
/var/cache/apt/archives/rbp2-image-4.19.55-3-osmc_3_armhf.deb
/var/cache/apt/archives/rbp2-image-4.14.34-4-osmc_4_armhf.deb
/var/cache/apt/archives/rbp2-image-4.14.78-2-osmc_2_armhf.deb
/var/cache/apt/archives/rbp2-image-4.9.29-15-osmc_15_armhf.deb
/var/cache/apt/archives/rbp2-image-4.14.34-6-osmc_6_armhf.deb
/var/cache/apt/archives/partial/rbp2-image-4.14.15-5-osmc_5_armhf.deb
/var/cache/apt/archives/rbp2-image-4.9.29-13-osmc_13_armhf.deb
/var/cache/apt/archives/rbp2-image-4.14.78-4-osmc_4_armhf.deb
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.md5sums
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.postinst
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.postrm
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.list
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.postrm
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.md5sums
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.preinst
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.preinst
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.prerm
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.postinst
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.templates
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.prerm
/var/lib/dpkg/info/rbp2-image-4.19.55-3-osmc.config
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.list
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.templates
/var/lib/dpkg/info/rbp2-image-4.14.78-4-osmc.config


Узнаем, что последнее архивное ядро rbp2-image-4.14.78-4-osmc. Его и используем.

В обсуждении предлагается команда:
osmc@osmc:~$sudo apt install --reinstall rbp2-image-4.14.78-4-osmc

Начните с нее. У меня она не сработала.
smc@osmc:~$ sudo apt install --reinstall rbp2-image-4.14.78-4-osmc
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Переустановка rbp2-image-4.14.78-4-osmc невозможна, он не скачивается.


Я не стал разбираться, почему инсталятор пытается что-то скачать, если всё уже есть на диске.

У меня сработала другая команда (вывод команды не сохранился):
sudo dpkg-reconfigure rbp2-image-4.14.78-4-osmc

После окончания ее выполнения перезагружаем приставку и проверяем сеть. У меня всё заработало. Минус такого решения очевиден. Больше обновления ставить нельзя. С другой стороны, ничего нового и хорошего они мне не приносили в последнее время. Работает - вот и хорошо.

На этом всё, всем удачи!
 
Обновление! Если готовы заморочиться со сборкой модуля ядра для адаптера, то написал статью, что да как.

вторник, 14 июля 2009 г.

Альтернативный драйвер WiFi для EeePC

После очередного обновления (в том числе и ядра) системы у меня перестал корректно работать WiFi. Если грузиться с включенным модулем, все отлично. Но если загрузиться с отключенным или выключить/включить его функциональными клавишами - все. Работать перестает. На несколько секунд лампочка загорается и гаснет. Если проверит ACPI-скрипт, обнаруживается следующее. Скрипт подгружает модули. Ждет немного и смотрит, загрузились ли они. Если нет, модули выгружаются и лампочка гаснет. Статус "Выключено".

Опианные на сайте проекта танцы с бубном не помогли. Найденно решение - альтернативный драйвер ath5k. У меня работает без нареканий. Драйвер понравиться любителям СПО. Он полностью свободный. Лично для меня это не аргумент.

Драйвер работает на ядре 2.6.29 в Sid и Lenny (как обратный порт).


Мое ядро 2.6.26. И на нем все работает. Итак, что делать.
  1. Ставим build-essential и linux-headers-2.6-686 (или linux-headers-2.6-486, если у вас стоит ядро 486). Как поставить (выполнять из-под root):

    # apt-get install build-essential linux-headers-2.6-686

  2. Загрузить последнюю версию compat-wireless-old.tar.bz2 и распаковать

    $ tar -jxvf compat-wireless-old.tar.bz2

  3. Автор применял патч http://thread.gmane.org/gmane.linux.kernel.wireless.general/27753. Мне этого делать не потребовалось.

  4. Переходим в директорию с распакованными исходниками. Выполняем команду make. Не из-под root.

  5. Из-под root выполяем команду make install.

  6. The latest ath5k modules are now installed. Все. Новые модули стоят

Далее надо либо удалить из системы пакет madwifi-tools, либо подправить /etc/modprobe.d/madwifi.conf, закомментировав (символ # в начале строки) все модули от madwifi.


Клавиши Fn+F2 работают с eeepc-acpi-scripts версии 1.1.0. Так что проверьте, стоит ли она.

Если настройка интерфесов ручная - подравьте файл /etc/network/interfaces, заменив ath0 на wlan0. Если используете NetworkManager или его альтернативу, ничего не добавляйте в указанный файл.

После этого у меня все заработало.

Не удаляйте pciehp из /etc/modules. Нужно для работу Fn-включения..

Да. Еще. Я использую Wicd. Чтобы он корректно видел новый интерфейс (имя интерфейса сменилось), надо в закладке настройки интерфейсов вписать правильное новое название wlan0