ivanovborislav / rtl8188eu

Realtek RTL8188EU v5.13.3 (2021-06-15) Wireless Lan Driver for Linux
GNU General Public License v2.0
113 stars 29 forks source link

can't build on ubuntu for ARM #4

Open SteveBetter opened 1 year ago

SteveBetter commented 1 year ago

I wanted to build this driver for my pcDuino3B board which has a rtl8188EU wireless LAN card. The SoC of pcDuino3B is sunxi7i A20 (arm). Version of the Linux Kernel I used is 6.0.2. I modified the Makefile of the driver as below: CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ARM_SUNxI = y CONFIG_PLATFORM_ARM_SUN7I = y

At first, an error occurred saying "mach/sys_config.h is missing", so I copied "arch/arm/mach-sunxi/include/mach" folder from official linux-3.4-sunxi source code which doesn't appear in the mainline Linux Kernel source code to the driver's "platform" folder. Then, it proceeds with another error saying "script_parser_fetch function was not declared". After searching on the web, I found that this function may come from some tools from sunxi which I didn't find somewhere. The two errors both come from "platform/platform_ARM_SUNxI_usb.c".

I found another rtl8188eu driver by an unofficial maintainer: https://github.com/lwfinger/rtl8188eu

The above driver can be built and loaded with the above Linux Kernel 6.0.2. But it cannot work properly on pcDuino3B with a long existed issue. https://github.com/lwfinger/rtl8188eu/issues/235

lpapp ~ $ sudo wpa_supplicant -Dwext -B -i wlp0s29u1u2 -c /etc/wpa_supplicant/example.conf Successfully initialized wpa_supplicant rfkill: Cannot get wiphy information ioctl[SIOCSIWAP]: Operation not permitted ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument lpapp ~ $ sudo wpa_supplicant -B -i wlp0s29u1u2 -c /etc/wpa_supplicant/example.conf Successfully initialized wpa_supplicant nl80211: Driver does not support authentication/association or connect commands nl80211: deinit ifname=wlp0s29u1u2 disabled_11b_rates=0 wlp0s29u1u2: Failed to initialize driver interface

Is it possible to combine these two drivers together?

Thanks very much!

Reference: https://github.com/allwinner-zh/linux-3.4-sunxi

ivanovborislav commented 1 year ago

Hi! Unfortunately I don't have a pcDuino3B device to do tests.

You can try compile this driver, edit Makefile CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_RPI_ARM = y (arm platform).

SteveBetter commented 1 year ago

It works! with the following command: wpa_supplicant -d -B -Dnl80211 -iwlx* -c/etc/wpa_supplicant/wpa_supplicant.conf

Thanks!!

ivanovborislav commented 1 year ago

You are welcome!

SteveBetter commented 11 months ago

It does work. But dmesg is noisy!! What's wrong?

@:~$ dmesg | tail -n 100 [ 1162.477172] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1162.480547] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1162.483927] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1162.484044] RTW: usb_write_port_cancel [ 1162.484131] RTW: ==> rtl8188eu_hal_deinit [ 1162.484568] RTW: bkeepfwalive(0) [ 1162.491533] RTW: SetHwReg: bMacPwrCtrlOn=0 [ 1162.494556] RTW: <=== rtw_ips_pwr_down..................... in 110ms [ 1281.079085] RTW: cfg80211_rtw_scan(wlx8c18d97306a9) [ 1281.079185] RTW: _rtw_pwr_wakeup call ips_leave.... [ 1281.079214] RTW: ==>ips_leave cnts:18 [ 1281.079242] RTW: ===> rtw_ips_pwr_up.............. [ 1281.079290] RTW: ===> ips_netdrv_open......... [ 1281.087623] RTW: SetHwReg: bMacPwrCtrlOn=1 [ 1281.087752] RTW: Set RF Chip ID to RF_6052 and RF type to 0. [ 1281.089365] RTW: rtl8188e_FirmwareDownload fw:NIC, size: 15262 [ 1281.089455] RTW: rtl8188e_FirmwareDownload: fw_ver=1c fw_subver=0000 sig=0x88e1, Month=14, Date=27, Hour=7e, Minute=3b [ 1281.142024] RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x00030005 [ 1281.146100] RTW: =====> _8051Reset88E(): 8051 reset success . [ 1281.148840] RTW: _FWFreeToGo: Polling FW ready OK! (11, 0ms), REG_MCUFWDL:0x000300c6 [ 1281.148935] RTW: FWDL success. write_fw:1, 50ms [ 1281.553394] ==> rtl8188e_iol_efuse_patch [ 1281.787618] RTW: rtl8188eu_hal_init in 710ms [ 1281.787764] RTW: rtw_hal_set_macaddr_port wlx8c18d97306a9- hw port(0) mac_addr =8c:18:d9:73:06:a9 [ 1281.790092] RTW: [HW_VAR_ENABLE_RX_BAR] 0x6A2=0x100 [ 1281.803139] RTW: wlx8c18d97306a9- Port-0 set opmode = 2 [ 1281.803249] RTW: rtw_hal_set_macaddr_port wlx8c18d97306a9- hw port(0) mac_addr =8c:18:d9:73:06:a9 [ 1281.807408] RTW: <=== rtw_ips_pwr_up.............. in 730ms [ 1281.807483] RTW: nolinked power save leave [ 1281.807745] RTW: ==> ips_leave.....LED(0x00028282)... [ 1281.809120] RTW: SetHwReg8188E:(HW_VAR_CHECK_TXBUF)TXBUF Empty(1) in 0 ms [ 1281.809742] RTW: wlx8c18d97306a9 sleep m0=0x00000002, ori reg_0x48c=0x00000000 [ 1283.386159] RTW: wlx8c18d97306a9 wakeup m0=0x00000002, ori reg_0x48c=0x00000002 [ 1283.386664] RTW: survey done event(21) band:0 for wlx8c18d97306a9 [ 1283.387393] RTW: rtw_indicate_scan_done(wlx8c18d97306a9) [ 1283.396474] RTW: ==>rtw_ps_processor .fw_state(8) [ 1283.396536] RTW: ==>ips_enter cnts:19 [ 1283.396560] RTW: nolinked power save enter [ 1283.396577] RTW: ===> rtw_ips_pwr_down................... [ 1283.396595] RTW: ====> rtw_ips_dev_unload... [ 1283.440819] RTW: usb_read_port_cancel [ 1283.444206] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.455196] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.460301] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.463675] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.467052] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.471826] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.475193] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.478920] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1283.479654] RTW: usb_write_port_cancel [ 1283.479802] RTW: ==> rtl8188eu_hal_deinit [ 1283.481937] RTW: bkeepfwalive(0) [ 1283.488544] RTW: SetHwReg: bMacPwrCtrlOn=0 [ 1283.490934] RTW: <=== rtw_ips_pwr_down..................... in 90ms [ 1402.120995] RTW: cfg80211_rtw_scan(wlx8c18d97306a9) [ 1402.121067] RTW: _rtw_pwr_wakeup call ips_leave.... [ 1402.121085] RTW: ==>ips_leave cnts:19 [ 1402.121104] RTW: ===> rtw_ips_pwr_up.............. [ 1402.121137] RTW: ===> ips_netdrv_open......... [ 1402.128060] RTW: SetHwReg: bMacPwrCtrlOn=1 [ 1402.128127] RTW: Set RF Chip ID to RF_6052 and RF type to 0. [ 1402.129049] RTW: rtl8188e_FirmwareDownload fw:NIC, size: 15262 [ 1402.129092] RTW: rtl8188e_FirmwareDownload: fw_ver=1c fw_subver=0000 sig=0x88e1, Month=14, Date=27, Hour=7e, Minute=3b [ 1402.179003] RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x00030005 [ 1402.183242] RTW: =====> _8051Reset88E(): 8051 reset success . [ 1402.186098] RTW: _FWFreeToGo: Polling FW ready OK! (11, 10ms), REG_MCUFWDL:0x000300c6 [ 1402.186200] RTW: FWDL success. write_fw:1, 60ms [ 1402.593271] ==> rtl8188e_iol_efuse_patch [ 1402.840754] RTW: rtl8188eu_hal_init in 720ms [ 1402.840900] RTW: rtw_hal_set_macaddr_port wlx8c18d97306a9- hw port(0) mac_addr =8c:18:d9:73:06:a9 [ 1402.845845] RTW: [HW_VAR_ENABLE_RX_BAR] 0x6A2=0x100 [ 1402.860114] RTW: wlx8c18d97306a9- Port-0 set opmode = 2 [ 1402.860222] RTW: rtw_hal_set_macaddr_port wlx8c18d97306a9- hw port(0) mac_addr =8c:18:d9:73:06:a9 [ 1402.867058] RTW: <=== rtw_ips_pwr_up.............. in 750ms [ 1402.867154] RTW: nolinked power save leave [ 1402.867486] RTW: ==> ips_leave.....LED(0x00028282)... [ 1402.868890] RTW: SetHwReg8188E:(HW_VAR_CHECK_TXBUF)TXBUF Empty(1) in 0 ms [ 1402.869504] RTW: wlx8c18d97306a9 sleep m0=0x00000002, ori reg_0x48c=0x00000000 [ 1404.446173] RTW: wlx8c18d97306a9 wakeup m0=0x00000002, ori reg_0x48c=0x00000002 [ 1404.446664] RTW: survey done event(2a) band:0 for wlx8c18d97306a9 [ 1404.447380] RTW: rtw_indicate_scan_done(wlx8c18d97306a9) [ 1404.451942] RTW: ==>rtw_ps_processor .fw_state(8) [ 1404.452060] RTW: ==>ips_enter cnts:20 [ 1404.452111] RTW: nolinked power save enter [ 1404.452149] RTW: ===> rtw_ips_pwr_down................... [ 1404.452188] RTW: ====> rtw_ips_dev_unload... [ 1404.511334] RTW: usb_read_port_cancel [ 1404.514679] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.519189] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.521938] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.525320] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.528816] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.531994] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.535445] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.538932] RTW: usb_read_port_complete() RX Warning! bDriverStopped(False) OR bSurpriseRemoved(False) [ 1404.539798] RTW: usb_write_port_cancel [ 1404.539955] RTW: ==> rtl8188eu_hal_deinit [ 1404.542195] RTW: bkeepfwalive(0) [ 1404.549214] RTW: SetHwReg: bMacPwrCtrlOn=0 [ 1404.550169] RTW: <=== rtw_ips_pwr_down..................... in 90ms