RTL8723B:n Windows-ajurin perusteella laitteen USB-tunnus olisi 0bda:b720.
RTL8723BU:n Linux-ajurin tiedostosta os_dep/usb_intf.c löytyy tosiaan tätä vastaava määritys:
#ifdef CONFIG_RTL8723B
//*=== Realtek demoboard ===*/
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDER_ID_REALTEK, 0xB720,0xff,0xff,0xff),.driver_info = RTL8723B}, /* 8723BU 1*1 */
//{USB_DEVICE(USB_VENDER_ID_REALTEK, 0xB720),.driver_info = RTL8723B}, /* 8723BU */
#endif
Kannattaa siis kokeilla tuota ajuria.
Kokeilinpa huvikseni kääntää ko. ajuri Ubuntu 14.10 virtuaalikoneellani. Kävin hakemassa zip-tiedoston nm:n antaman linkin takaa, purin sen kotihakemistooni, siirryin käännöskansioon ja käänsin:
cd rtl8723bu-master
make
Ensi yrittämällä tuli tämmöinen virheilmoitus:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.16.0-30-generic/build M=/home/joonas60/rtl8723bu-master modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-30-generic'
CC [M] /home/joonas60/rtl8723bu-master/core/rtw_debug.o
/home/joonas60/rtl8723bu-master/core/rtw_debug.c: In function ‘dump_drv_version’:
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:64: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
^
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
^
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:1: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:1: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
/home/joonas60/rtl8723bu-master/core/rtw_debug.c:66:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target '/home/joonas60/rtl8723bu-master/core/rtw_debug.o' failed
make[2]: *** [/home/joonas60/rtl8723bu-master/core/rtw_debug.o] Error 1
Makefile:1345: recipe for target '_module_/home/joonas60/rtl8723bu-master' failed
make[1]: *** [_module_/home/joonas60/rtl8723bu-master] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-30-generic'
Makefile:361: recipe for target 'modules' failed
make: *** [modules] Error 2
Kävin muuttamassa tiedostoa /home/joonas60/rtl8723bu-master/core/rtw_debug.c pistämällä ongelmarivin kommenteihin:
void dump_drv_version(void *sel)
{
DBG_871X_SEL_NL(sel, "%s %s\n", DRV_NAME, DRIVERVERSION);
// DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
}
(__DATE__ ja __TIME__ makrojen ei enää voi käyttää gcc kääntäjäversiosta 4.9 lähtien)
Muutoksen jälkeen käännös meni läpi, lukuunottamatta muutamaa varoitusta:
home/joonas60/rtl8723bu-master/os_dep/ioctl_linux.c: In function ‘translate_scan’:
/home/joonas60/rtl8723bu-master/os_dep/ioctl_linux.c:798:1: warning: the frame size of 1184 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c:6060:2: warning: initialization from incompatible pointer type
.scan = cfg80211_rtw_scan,
^
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c:6060:2: warning: (near initialization for ‘rtw_cfg80211_ops.get_station’)
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c:6091:2: warning: initialization from incompatible pointer type
.change_bss = cfg80211_rtw_change_bss,
^
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c:6091:2: warning: (near initialization for ‘rtw_cfg80211_ops.dump_station’)
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c: In function ‘rtw_cfg80211_inform_bss’:
/home/joonas60/rtl8723bu-master/os_dep/ioctl_cfg80211.c:616:1: warning: the frame size of 1064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^
Käännöskansion alle syntyi ajuri 8723bu.ko. Tästä eteenpäin en yrittänyt installoida ajuria. Todennäköisti se ei olisi onnistunut, koska minulla ei tuota RTL8723B-piiriä. Installointi pitäisi onnistua komennolla:
make install