El camino está obstaculizado y es largo, y la línea se acerca. Mantén la cabeza baja y trabaja duro, si no hablas, ¡serás un éxito de taquilla! ¡Vamos, Sao Nian!
1 referencia
1. Ficha de datos del chip: TL8188FCA.pdf
2. Manual de migración de controladores: Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf
3. [Atom puntual] i.MX6U Embedded Linux Driver Development Guide V1.3.pdf
4. Linux agrega controlador WiFi: https://blog.csdn.net/sbddbfm/article/details/101222266
5. Hay algunos tutoriales de otros predecesores, ¡muchas gracias!
2 Introducción medioambiental
1. Se utiliza MCU de la serie Nuvoton NUC980;
2. Versión del kernel de Linux: 4.4.179;
3. Versión en cadena de compilación cruzada
arm-none-linux-gnueabi-gcc
gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)
4. El código fuente del controlador del módulo WiFi proporcionado por el proveedor;
3 migración de controladores
1, la RTL8188FU
unidad agregada al Linux
kernel;
-
En la
drivers/net/wireless
ruta de la nueva carpetarealtek_new
; -
La fuente de conducción
RTL8188FU_Linux_v5.7.4_33085.20190626\driver\rtl8188FU_linux_v5.7.4_33085.20190419
después de la descompresión, en larealtek_new
carpeta; -
Modifique el nombre de la carpeta a
rtl8188fu
;
2. Modificar drivers/net/wireless/Kconfig
- Abrir
drivers/net/wireless/Kconfig
, agregar en la última línea del archivo
source "drivers/net/wireless/realtek_new/Kconfig"
3. Modificar drivers/net/wireless/Makefile
- Abrir
drivers/net/wireless/Makefile
, agregar en la última línea del archivo
obj-y += realtek_new/
4. Nuevo archivo drivers/net/wireless/realtek_new/Makefile
- Nuevo archivo
Makefile
, agregue el siguiente contenido, guarde
obj-$(CONFIG_RTL8188FU) += rtl8188fu/
5. Nuevo archivo drivers/net/wireless/realtek_new/Kconfig
- Nuevo archivo
Kconfig
, agregue el siguiente contenido, guarde
menuconfig REALTEK_WIFI
tristate "Realtek wifi"
if REALTEK_WIFI
choice
prompt "select wifi type"
default RTL8189FU
config RTL8188FU
depends on REALTEK_WIFI
tristate "Realtek 8188FU USB WiFi"
endchoice
endif
6, apaga la Debug
función
- Abra el archivo
drivers/net/wireless/realtek_new/rtl8188fu/Makefile
; - Línea 88,
CONFIG_RTW_DEBUG=y
se cambió la definición de macroCONFIG_RTW_DEBUG=n
; - De lo contrario, se imprimirá mucha información de depuración, lo que afectará el uso normal;
- Después de la modificación, como se muestra en la siguiente figura:
87 ########################## Debug ###########################
88 CONFIG_RTW_DEBUG = n
89 # default log level is _DRV_INFO_ = 4,
90 # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
91 CONFIG_RTW_LOG_LEVEL = 4
92 ######################## Wake On Lan ##########################
4 Configuración del kernel
1. Configurar dispositivos de soporte USB
Device Drivers --->
[*] USB support --->
<*> Support for Host-side USB
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support
<*> ChipIdea Highspeed Dual Role Controller
[*] ChipIdea host controller
[*] ChipIdea driver debug
2. Configurar para admitir dispositivos WiFi
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
[*] Support downloading firmware images with Host AP driver
[*] Support for non-volatile firmware download
3. La configuración es compatible con IEEE 802.11
[*] Networking support --->
-*- Wireless --->
[*] cfg80211 wireless extensions compatibility
<*> Generic IEEE 802.11 Networking Stack (mac80211)
4. Configure el controlador RTL8188FU
- Debido a que RTL8188FU no necesita cargar archivos de firmware adicionales, no es necesario configurar el controlador como un módulo;
- Compile directamente el controlador en el kernel, de modo que el RTL8188FU se inicialice automáticamente después del arranque y no sea necesario cargar manualmente el módulo del controlador después del arranque;
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<*> Realtek wifi --->
--- Realtek wifi
<*> select wifi type (Realtek 8188FU USB WiFi) --->
5. En la ruta raíz de la carpeta del código fuente del kernel, ejecute el comando:
make uImage -j16
6. La compilación está completa;
5 Prueba simple
1. Conecte el módulo WiFi a la placa de control;
2. Utilice el kernel recién compilado y reinicie el programa;
3, use la ifconfig -a
prueba de comando ;
4. Si puede ver la tarjeta de red wlan0, significa que el controlador puede funcionar normalmente; de lo contrario, verifique si los pasos de configuración anteriores son incorrectos;
5. Los resultados de mi prueba son los siguientes:
[root]#ifconfig -a
dummy0 Link encap:Ethernet HWaddr 12:DE:F0:8F:D4:1B
BROADCAST NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 40:00:02:B3:D2:34
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:336 errors:0 dropped:138 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:95476 (93.2 KiB) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 68:B9:D3:B2:90:C8
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Bueno, este es el contenido de este número, les deseo lo mejor y nos vemos en el próximo número.
Si el contenido del artículo es incorrecto, por favor comente / envíe un mensaje privado con muchos consejos. Si cree que el contenido del artículo no es malo, recuerde hacer clic en los cuatro enlaces (me gusta, marcar, dejar un mensaje, seguir), si puede hacer clic en seguir, ese es el mayor estímulo para mí, y será el motivación para mi creación, gracias!