Registro detallado 丨 Transferencia de controlador WiFi Realtek RTL8188FU

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 RTL8188FUunidad agregada al Linuxkernel;

  • En la drivers/net/wirelessruta de la nueva carpeta realtek_new;

  • La fuente de conducción RTL8188FU_Linux_v5.7.4_33085.20190626\driver\rtl8188FU_linux_v5.7.4_33085.20190419después de la descompresión, en la realtek_newcarpeta;

  • 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 Debugfunción

  • Abra el archivo drivers/net/wireless/realtek_new/rtl8188fu/Makefile;
  • Línea 88, CONFIG_RTW_DEBUG=yse cambió la definición de macro CONFIG_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 -aprueba 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!

Supongo que te gusta

Origin blog.csdn.net/Fighting_Boom/article/details/115293980
Recomendado
Clasificación