Kirjoittaja Aihe: [Ratkaistu] Realtek RTL8723B verkkokortti ei toimi  (Luettu 4247 kertaa)

teemku

  • Käyttäjä
  • Viestejä: 28
    • Profiili
Minulla on tässä pöydällä tablet-laite (Cube i7), johon olen asentanut Ubuntun (14.10) laitteessa alunperin olleen Windows 8.1:n tilalle. Laitteessa oleva langaton verkkokortti ei kuitenkaan toimi suoraan out-of-the-box -tyyliin; itse asiassa koko verkkokorttia ei löydy lainkaan... Windowsin laitehallinnan mukaan kyseinen verkkokortti olisi mallia: Realtek RTL8723B Wireless LAN 802.11n USB 2.0 Network Adapter.

Olen yrittänyt asentaa ajuria lähdekoodista löytämäni ohjeen perusteella (http://askubuntu.com/questions/139632/wireless-card-realtek-rtl8723ae-bt-is-not-recognized), mutta asentaessa tulee vastaan virhe joka pysäyttää asennuksen. Käsittääkseni asennuksessa käytetään jotain Kernelin funktiota, jota ei enää ole olemassa (http://unix.stackexchange.com/questions/74110/i-can-not-get-my-realtek-8723-driver-source-compiled).

Löysin toisen ohjeen, jossa käytettiin täältä (https://github.com/lwfinger) löytyvää ajuria. Kyseinen ajuri asentui ongelmitta, mutta verkkokortti ei vain löydy.

Tämän lisäksi olen kokeillut eri Kernelin versioita 3.16.0, 3.18.0 ja 3.19.0 ilman suotuisaa tulosta. Tunteeko kukaan tuota verkkokorttia paremmin, tai osaisiko vinkata millä tavalla sen saisi toimimaan? Vielä en ole valmis omaa ajuria koodaamaan ;)

Apu-Va!
« Viimeksi muokattu: 24.02.15 - klo:13.37 kirjoittanut teemku »

scastren

  • Käyttäjä
  • Viestejä: 27
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #1 : 20.02.15 - klo:08.48 »
Paljon tarinaa löytyy verkosta, mutta ei juuri tuosta sinun B-mallin piiristä. Onko tilanne sama, jos kokeilet jotain toista Live-Linuxia? Toki ne kaikki Linuxit käyttävät samoja softia.

Toinen juttu: Sinun ongelmasi Toi mieleeni seuraavaa. Minulla on lainassa Acerin Windows-tabletti, jossa UEFI. Jospa siihen saisi Windows 10:n ja Ubuntun/Debianin. Pitää kokeilla.

joonas60

  • Käyttäjä
  • Viestejä: 252
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #2 : 20.02.15 - klo:13.15 »
Olisiko sittenkin kyseessä Realtekin RTL8723BU-piiri? RTL8723BE on PCI-e väyläinen, joten sille tarkoitettu ajuri ei varmaankaa toimi USB-pohjaisen piirin kanssa. Itseasiassa tälle RTL8723BE:lle löytyy ajuri (module) Ubuntu 14.10:ssä.

Mitäpä sanoo komento?:
Koodia: [Valitse]
lsusb | grep -i realtek
« Viimeksi muokattu: 20.02.15 - klo:13.18 kirjoittanut joonas60 »
terv. joonas60
Lenovo L430
Windows 7
Virtualbox & Ubuntu 16.04 LTS

nm

  • Käyttäjä
  • Viestejä: 12702
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #3 : 20.02.15 - klo:13.31 »
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:

Koodia: [Valitse]
#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.

joonas60

  • Käyttäjä
  • Viestejä: 252
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #4 : 20.02.15 - klo:23.17 »
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:

Koodia: [Valitse]
#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:
Koodia: [Valitse]
cd rtl8723bu-master
make

Ensi yrittämällä tuli tämmöinen virheilmoitus:
Koodia: [Valitse]
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
make install
« Viimeksi muokattu: 06.03.15 - klo:23.40 kirjoittanut joonas60 »
terv. joonas60
Lenovo L430
Windows 7
Virtualbox & Ubuntu 16.04 LTS

teemku

  • Käyttäjä
  • Viestejä: 28
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #5 : 24.02.15 - klo:10.59 »
Kiitos vastauksista! Verkkokortti heräsi henkiin ja toimii nyt moiteteettomasti.

Olenko muuten miten väärässä, mutta onko tuossa samassa kortissa myös Bluetooth? Millähän sen voisi saada toimimaan?  ???

Niin ja siis mainittakoon, että asetuksissa sanotaan vain, että sovittimia ei löydy - on siis onnellisesti pihalla Bluetoothin olemassa olosta.

joonas60

  • Käyttäjä
  • Viestejä: 252
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #6 : 24.02.15 - klo:11.14 »
Olenko muuten miten väärässä, mutta onko tuossa samassa kortissa myös Bluetooth? Millähän sen voisi saada toimimaan?  ???

Niin ja siis mainittakoon, että asetuksissa sanotaan vain, että sovittimia ei löydy - on siis onnellisesti pihalla Bluetoothin olemassa olosta.
Tuossa kortissa on myös Bluetooth, mutta minulla ei ole tietoa kuinka sen saa aktivoitua. Ehkä nm tietänee?
terv. joonas60
Lenovo L430
Windows 7
Virtualbox & Ubuntu 16.04 LTS

nm

  • Käyttäjä
  • Viestejä: 12702
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #7 : 24.02.15 - klo:11.56 »
Tällä ajurilla voisi toimia (ainakin RTL8723BU:n USB-tunnus on mukana btusb.c:ssä):

https://github.com/lwfinger/rtl8723au_bt/tree/new

teemku

  • Käyttäjä
  • Viestejä: 28
    • Profiili
Vs: Realtek RTL8723B verkkokortti ei toimi
« Vastaus #8 : 24.02.15 - klo:13.36 »
Huisia! Kaikki toimii kuten kuuluukin. Kiitos valtavasti auttaneista vinkeistä!

joonas60

  • Käyttäjä
  • Viestejä: 252
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: [Ratkaistu] Realtek RTL8723B verkkokortti ei toimi
« Vastaus #9 : 24.02.15 - klo:15.10 »
Hyvä, että toimii. Mutta muutama varoituksen sana (saattaa tosin olla jo tiedossa):

Jos ja kun linux-image päivittyy, niin myös hakemistoon  /lib/modules tulee linux-version mukainen uusi hakemisto. Näin ollen voi olla, että nämä ajurit joudutaan uudelleen kääntämään, jos uusi hakemisto ei niitä sisällä (ts. virallinen Canonicalin kernel ei tue ko. korttia uudessakaan versiossa). Pelkkä kopioiminen vanhasta ei ole ratkaisu, koska ajurit pitää kääntää käytössä olevaa kerneliä vasten.
terv. joonas60
Lenovo L430
Windows 7
Virtualbox & Ubuntu 16.04 LTS