Подробная запись 丨 Портирование драйвера Realtek RTL8188FU WiFi

Дорога длинная и затрудненная, и очередь приближается. Опусти голову и много работай, если не будешь говорить, ты будешь блокбастером! Давай, Сан Ньянь!

1 Ссылка

1. Технические данные микросхемы: TL8188FCA.pdf

2. Руководство по переносу драйверов: Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf

3. [Punctual Atom] i.MX6U Руководство по разработке встроенного драйвера Linux, версия 1.3.pdf

4. Linux добавляет драйвер Wi-Fi: https://blog.csdn.net/sbddbfm/article/details/101222266

5. Есть несколько руководств от других предшественников, большое спасибо!

2 Введение в окружающую среду

1. Используется микроконтроллер серии Nuvoton NUC980;

2. Версия ядра Linux: 4.4.179;

3. Версия цепочки кросс-компиляции

arm-none-linux-gnueabi-gcc

gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)

4. Исходный код драйвера модуля WiFi, предоставленный поставщиком;

3 миграция драйверов

1, RTL8188FUнакопитель добавлен в Linuxядро;

  • По drivers/net/wirelessпути к новой папке realtek_new;

  • Источник движения RTL8188FU_Linux_v5.7.4_33085.20190626\driver\rtl8188FU_linux_v5.7.4_33085.20190419после распаковки в realtek_newпапку;

  • Измените имя папки на rtl8188fu;

2. Изменить drivers/net/wireless/Kconfig

  • Открываем drivers/net/wireless/Kconfig, добавляем последнюю строчку файла
source "drivers/net/wireless/realtek_new/Kconfig"

3. Изменить drivers/net/wireless/Makefile

  • Открываем drivers/net/wireless/Makefile, добавляем последнюю строчку файла
obj-y += realtek_new/

4. Новый файл drivers/net/wireless/realtek_new/Makefile

  • Новый файл Makefile, добавьте следующий контент, сохраните
obj-$(CONFIG_RTL8188FU) += rtl8188fu/

5. Новый файл drivers/net/wireless/realtek_new/Kconfig

  • Новый файл Kconfig, добавьте следующий контент, сохраните
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, выключите Debugфункцию

  • Откройте файл drivers/net/wireless/realtek_new/rtl8188fu/Makefile;
  • Строка 88, определение макроса CONFIG_RTW_DEBUG=yбыло изменено CONFIG_RTW_DEBUG=n;
  • В противном случае будет напечатано много отладочной информации, что повлияет на нормальное использование;
  • После модификации, как показано на рисунке ниже:
  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 Конфигурация ядра

1. Настройте устройства поддержки 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. Настройте поддержку устройств Wi-Fi.

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. Конфигурация поддерживает IEEE 802.11.

[*] Networking support  --->
    -*-   Wireless  --->
        [*]     cfg80211 wireless extensions compatibility 
        <*>   Generic IEEE 802.11 Networking Stack (mac80211)

4. Настроить драйвер RTL8188FU.

  • Поскольку RTL8188FU не требует загрузки дополнительных файлов прошивки, нет необходимости настраивать драйвер как модуль;
  • Скомпилируйте драйвер непосредственно в ядро, чтобы RTL8188FU был инициализирован автоматически после загрузки, и не было необходимости вручную загружать модуль драйвера после загрузки;
Device Drivers  ---> 
    [*] Network device support  ---> 
        [*]   Wireless LAN  --->
            <*>   Realtek wifi  ---> 
                --- Realtek wifi
                <*>   select wifi type (Realtek 8188FU USB WiFi)  --->  

5. В корневом пути папки с исходным кодом ядра выполните команду:

make uImage -j16

6. Компиляция завершена;

5 Простой тест

1. Подключите модуль WiFi к плате управления;

2. Используйте только что скомпилированное ядро ​​и перезапустите программу;

3, используйте ifconfig -aтест команды ;

4. Если вы видите сетевую карту wlan0, это означает, что драйвер может работать нормально, в противном случае проверьте, не ошиблись ли предыдущие шаги настройки;

5. Мои результаты тестирования следующие:

[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)

Что ж, это содержание номера, желаю вам всего наилучшего, до встречи в следующем номере!

Если содержание статьи неверное, пожалуйста, прокомментируйте / личное сообщение, много советов! Если вы считаете, что содержание статьи неплохое, не забудьте щелкнуть четыре ссылки (например, добавить в закладки, оставить сообщение, подписаться), если вы можете щелкнуть подписку, это для меня величайшее воодушевление, и это будет мотивация для моего творчества, спасибо!

рекомендация

отblog.csdn.net/Fighting_Boom/article/details/115293980
рекомендация