edelweiss-tech / bt1-linux-3.19

linux 3.19 port for Baikal-T1 CPU
Other
1 stars 1 forks source link

Enabe WiFi-related kernel options #1

Open snegovick opened 6 years ago

snegovick commented 6 years ago

Enable USB WiFi dongles support in mitx_defconfig

snegovick commented 6 years ago

Tested a little bit with rtl8188cus USB WiFi plugs, it works somewhat, but leads to hung kernel tasks like below, but bear in mind that my user space is heavily tainted now and this same module probably better be checked on fresh system

[  240.159930]       Not tainted 3.19.12-mitx-00001-g5bacdbfb-dirty #5
[  240.166296] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  240.174245] kworker/0:3     D 80681b80     0  1390      2 0x00100000
[  240.180782] Workqueue: events_power_efficient reg_check_chans_work [cfg80211]
[  240.188041] Stack : 824a097c 84bf1c80 00000012 00010000 824a1200 824a1200 00000001 824a1200
      807fda40 8007a004 00000000 8080c890 8492063c 808c0000 808c0000 808c0000
      808bf184 80075a98 8492063c 00000000 0714e231 00000000 6307097a 00000000
      8088d200 8080c890 808c0000 00000080 808247b4 85fc3ce8 808247d8 00000001
      85fc3d70 0000000a 846307d0 8088d200 00000001 00000001 8088d200 8080c420
      ...
[  240.225218] Call Trace:
[  240.227728] [<80680fd4>] __schedule+0x35c/0x9c4
[  240.232332] [<80681b80>] schedule_preempt_disabled+0x10/0x1c
[  240.238094] [<806838b0>] __mutex_lock_slowpath+0xd4/0x1e0
[  240.243588] [<c15423d4>] reg_check_chans_work+0x38/0x360 [cfg80211]
[  240.249966] [<80046a4c>] process_one_work+0x154/0x4b0
[  240.255105] [<80047354>] worker_thread+0x17c/0x648
[  240.259985] [<8004c8c8>] kthread+0x10c/0x124
[  240.264338] [<8000a058>] ret_from_kernel_thread+0x14/0x1c
[  240.269814] 
snegovick commented 6 years ago

Now I can confirm that rtl8188 module does something funny with kernel on clean debian 8 too.

ndz215 commented 6 years ago

I have successfully used the following WiFi module on MiniITX running Linux 3.19 and Debian 8.7. The report follows.

We use RT3070-based ZyXEL USB dongle: user@tclient:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 04b3:3107 IBM Corp. ThinkPad 800dpi Optical Travel Mouse Bus 001 Device 005: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard Bus 001 Device 004: ID 0586:341e ZyXEL Communications Corp. NWD2105 802.11bgn Wireless Adapter [Ralink RT3070] Bus 001 Device 008: ID 0bda:4838 Realtek Semiconductor Corp. Bus 001 Device 002: ID 0424:2517 Standard Microsystems Corp. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The kernel needs to have 802.11 support and the Ralink modules. They are not compiled by default (see the included config file). user@tclient:~$ lsmod Module Size Used by ctr 3847 2 ccm 8414 2 arc4 1552 2 rt2800usb 15811 0 rt2x00usb 10281 1 rt2800usb rt2800lib 81024 1 rt2800usb rt2x00lib 43406 3 rt2x00usb,rt2800lib,rt2800usb mac80211 356387 3 rt2x00lib,rt2x00usb,rt2800lib cfg80211 204977 2 mac80211,rt2x00lib crc_ccitt 1099 1 rt2800lib snd_usb_audio 132879 2 snd_hwdep 6346 1 snd_usb_audio snd_usbmidi_lib 22528 1 snd_usb_audio snd_rawmidi 21899 1 snd_usbmidi_lib snd_seq_device 6986 1 snd_rawmidi mmc_spi 13510 0 crc7 825 1 mmc_spi of_mmc_spi 1605 1 mmc_spi mmc_core 103397 2 of_mmc_spi,mmc_spi crc_itu_t 1099 1 mmc_spi fuse 92758 1

The device needs firmware rt2870.bin available in the firmware-ralink package. user@tclient:~$ dpkg -l | grep ralink ii firmware-ralink 0.43 all Binary firmware for Ralink wireless cards

The package is in the non-free section, so add it to the sources.list file:

[/etc/apt/sources.list] deb http://ftp.ru.debian.org/debian/ jessie main contrib non-free deb-src http://ftp.ru.debian.org/debian/ jessie main contrib non-free

deb http://ftp.ru.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.ru.debian.org/debian/ jessie-updates main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free

and run apt-get update && apt-get install firmware-ralink.

Install wireless-tools: apt-get install wireless-tools

Make sure wlan0 is not listed in the interfaces file: [/etc/network/interfaces] auto lo iface lo inet loopback

If it is listed there, remove the wlan0 line and reboot.

Cofigure the wifi via NetworkManager GUI (the icon in the top right corner). I use WPA/WPA2 Personal for encription. I also specified the WiFi MAC address in the NetworkManager GUI. Not sure if it is necessary.