Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SOLVED: rtl8723au: the wireless card...
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
Angrychile
Apprentice
Apprentice


Joined: 27 Oct 2009
Posts: 235

PostPosted: Thu Dec 05, 2013 1:15 am    Post subject: SOLVED: rtl8723au: the wireless card... Reply with quote

I have bought a Lenovo Ideapad Yoga 13 and it contains rtl8723au as a wireless card. There is an unofficial driver for here. Just to point out before anyone asks, the card doesn't require firmware. I have been using ubuntu on this laptop with the driver and it has been working fine.

However, on gentoo, apparently it appears as an ethernet card. It shows up in ifconfig:
Code:
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 8  bytes 792 (792.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 792 (792.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480
        sit  txqueuelen 0  (IPv6-in-IPv4)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s26u1u4i2: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 20:16:d8:f0:51:d9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

However, iwlist claims that it doesn't support scanning. iw list and iw phy also show nothing. Finally, nm-applet calls it a ethernet connection. The driver is indeed loaded for the right thing:

Code:
#lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 5: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 7: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 7: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 480M
        |__ Port 4: Dev 4, If 0, Class=Wireless, Driver=, 480M
        |__ Port 4: Dev 4, If 1, Class=Wireless, Driver=, 480M
        |__ Port 4: Dev 4, If 2, Class=Vendor Specific Class, Driver=rtl8723au, 480M
        |__ Port 5: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M

This is the same device as in ubuntu.

Strangely, in ubuntu, both ifconfig -a shows it and iwlist scan works, but iw phys shows nothing!

Previously threads/posts that I have found on this issue end abruptly, as per usual: 1 and 2.

I should note that nothing out of the ordinary appears in dmesg. The only note worthy thing is that it is renamed by udev:
Code:

[    2.569212] usb 1-1.4: skipped 1 descriptor after configuration
[    2.569332] usb 1-1.4: default language 0x0409
[    2.569707] usb 1-1.4: udev 4, busnum 1, minor = 3
[    2.569710] usb 1-1.4: New USB device found, idVendor=0bda, idProduct=1724
[    2.569712] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.569714] usb 1-1.4: Product: 802.11n WLAN Adapter
[    2.569716] usb 1-1.4: Manufacturer: Realtek
[    2.569718] usb 1-1.4: SerialNumber: 00e04c000001
[    2.569894] usb 1-1.4: usb_probe_device
[    2.569898] usb 1-1.4: configuration #1 chosen from 1 choice
[    2.569967] usb 1-1.4: adding 1-1.4:1.0 (config #1, interface 0)
[    2.570150] usb 1-1.4: adding 1-1.4:1.1 (config #1, interface 1)
[    2.570259] usb 1-1.4: adding 1-1.4:1.2 (config #1, interface 2)
...
[    2.939747] rtl8723au 1-1.4:1.2: usb_probe_interface
[    2.939754] rtl8723au 1-1.4:1.2: usb_probe_interface - got id
...
[    3.060046] usbcore: registered new interface driver rtl8723au
[    3.068587] systemd-udevd[1305]: renamed network interface wlan0 to wlp0s26u1u4i2


In ubuntu, there is was a generated udev rules file that named it wlan0. Since the driver seemed to be installed well, perhaps the offender is udev?
_________________
hola


Last edited by Angrychile on Thu Dec 05, 2013 8:24 pm; edited 1 time in total
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Thu Dec 05, 2013 3:27 am    Post subject: Reply with quote

Wireless devices are Ethernet devices with wireless extensions. When you do iwlist on Gentoo are you root? It can be needed. You may miss some necessary kernel options to make the rtl8723au work on Gentoo like 80211, Usb and things that are related. I dont think Udev can be faulty here because rename a device dont change it's fonctionnalities.

Are you sure that this module can work on non Ubuntu systems? You may have to follow Ubuntu Linux kernel configuration with Gentoo.
_________________
Paul
Back to top
View user's profile Send private message
666threesixes666
Veteran
Veteran


Joined: 31 May 2011
Posts: 1248
Location: 42.68n 85.41w

PostPosted: Thu Dec 05, 2013 3:47 am    Post subject: Reply with quote

emerge linux-firmware & if all else fails post UBUNTUS lsmod & dmesg.
Back to top
View user's profile Send private message
Angrychile
Apprentice
Apprentice


Joined: 27 Oct 2009
Posts: 235

PostPosted: Thu Dec 05, 2013 7:13 am    Post subject: Reply with quote

Logicien wrote:
Wireless devices are Ethernet devices with wireless extensions. When you do iwlist on Gentoo are you root? It can be needed. You may miss some necessary kernel options to make the rtl8723au work on Gentoo like 80211, Usb and things that are related. I dont think Udev can be faulty here because rename a device dont change it's fonctionnalities.

Are you sure that this module can work on non Ubuntu systems? You may have to follow Ubuntu Linux kernel configuration with Gentoo.


Yes, I was root. For udev, I see, I wasn't sure whether udev did more than just rename things, so I guess all that is in the kernel?
With regards to kernel options, cfg80211 is enabled. Obviously, something is right because linux tells the world about some network device, at least.

666threesixes666 wrote:
emerge linux-firmware & if all else fails post UBUNTUS lsmod & dmesg.


As I said, it doesn't require firmware, as the linked post in the OP (the link 1) says. I guess it can't hurt to do it anyway.
Ubuntu dmesg

and

And here is in ubuntu lsmod
Code:
Module                  Size  Used by
dm_crypt               23012  1
hid_sensor_magn_3d     13266  0
hid_sensor_gyro_3d     13266  0
hid_sensor_accel_3d    13279  0
hid_sensor_trigger     12916  3 hid_sensor_gyro_3d,hid_sensor_accel_3d,hid_sensor_magn_3d
industrialio_triggered_buffer    12882  3 hid_sensor_gyro_3d,hid_sensor_accel_3d,hid_sensor_magn_3d
kfifo_buf              13294  1 industrialio_triggered_buffer
industrialio           53968  6 hid_sensor_trigger,hid_sensor_gyro_3d,industrialio_triggered_buffer,hid_sensor_accel_3d,kfifo_buf,hid_sensor_magn_3d
hid_sensor_iio_common    13807  3 hid_sensor_gyro_3d,hid_sensor_accel_3d,hid_sensor_magn_3d
cuse                   13566  3
cfg80211              504229  0
x86_pkg_temp_thermal    14269  0
intel_powerclamp       19031  0
coretemp               17728  0
kvm                   457597  0
crc32_pclmul           13160  0
ghash_clmulni_intel    13259  0
aesni_intel            55720  6502
aes_x86_64             17131  1 aesni_intel
lrw                    13294  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            14095  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 20501  3253 ghash_clmulni_intel,aesni_intel,ablk_helper
joydev                 17575  0
snd_hda_codec_hdmi     41732  1
uvcvideo               82247  0
snd_hda_codec_conexant    57136  1
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40903  1 uvcvideo
videodev              139144  2 uvcvideo,videobuf2_core
microcode              23650  0
psmouse               104113  0
8723au               1086340  0
serio_raw              13462  0
snd_hda_intel          57183  3
snd_hda_codec         194881  3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
hid_multitouch         17645  0
rts5139               318332  0
hid_sensor_hub         19096  5 hid_sensor_trigger,hid_sensor_gyro_3d,hid_sensor_accel_3d,hid_sensor_magn_3d,hid_sensor_iio_common
snd_hwdep              13613  1 snd_hda_codec
parport_pc             32866  0
snd_pcm               107140  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
ppdev                  17711  0
snd_page_alloc         18798  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30465  1 snd_seq_midi
rfcomm                 74658  0
bnep                   23966  2
snd_seq                66061  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
bluetooth             391597  10 bnep,rfcomm
snd_timer              30038  2 snd_pcm,snd_seq
snd                    73802  17 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
mac_hid                13253  0
soundcore              12680  1 snd
lpc_ich                21163  0
mei_me                 18418  0
mei                    78609  1 mei_me
lp                     17799  0
parport                42481  3 lp,ppdev,parport_pc
nls_iso8859_1          12713  1
usbhid                 53067  0
hid                   106050  3 hid_multitouch,hid_sensor_hub,usbhid
i915                  729653  3
i2c_algo_bit           13564  1 i915
ahci                   30063  4
drm_kms_helper         53165  1 i915
libahci                32088  1 ahci
drm                   303157  4 i915,drm_kms_helper
wmi                    19363  0
video                  19574  1 i915


and lsusb -t in ubuntu
Code:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 5: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 7: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 7: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=rts5139, 480M
        |__ Port 4: Dev 4, If 0, Class=Wireless, Driver=, 480M
        |__ Port 4: Dev 4, If 1, Class=Wireless, Driver=, 480M
        |__ Port 4: Dev 4, If 2, Class=Vendor Specific Class, Driver=rtl8723au, 480M
        |__ Port 5: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M


as I said in the OP, the same.
_________________
hola
Back to top
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2665
Location: Slovenia

PostPosted: Thu Dec 05, 2013 10:23 am    Post subject: Reply with quote

iw won't show anything because it only works with mac80211 drivers, but rtl8723au is a wext driver. It's weird that iwlist says scanning is not supported. I assume if you were missing wext stuff in your kernel, the driver wouldn't build. Or maybe it would, considering it uses a private wireless stack.

Does your kernel contain wext stuff (CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_PRIV=y)? If not, compile a new kernel and select the prism54 driver to be built, this will get you the wext stuff. Then compile rtl8723au again while running the new kernel.

PS. Where do you see the device is being treated as ethernet? It was registered as wlan0 and udev renamed it to wl<stuff>, so the system definitely knows it's wireless. Would be weird if it did not, the necessary commit was two months ago: https://github.com/lwfinger/rtl8723au/commit/e3e9c3a76e7aa83a517c79f3ede1b0a2c141ef81
Back to top
View user's profile Send private message
Angrychile
Apprentice
Apprentice


Joined: 27 Oct 2009
Posts: 235

PostPosted: Thu Dec 05, 2013 8:22 pm    Post subject: Reply with quote

Gusar wrote:
iw won't show anything because it only works with mac80211 drivers, but rtl8723au is a wext driver. It's weird that iwlist says scanning is not supported. I assume if you were missing wext stuff in your kernel, the driver wouldn't build. Or maybe it would, considering it uses a private wireless stack.

Does your kernel contain wext stuff (CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_PRIV=y)? If not, compile a new kernel and select the prism54 driver to be built, this will get you the wext stuff. Then compile rtl8723au again while running the new kernel.

PS. Where do you see the device is being treated as ethernet? It was registered as wlan0 and udev renamed it to wl<stuff>, so the system definitely knows it's wireless. Would be weird if it did not, the necessary commit was two months ago: https://github.com/lwfinger/rtl8723au/commit/e3e9c3a76e7aa83a517c79f3ede1b0a2c141ef81


Dude! Awesome it works now. It turned out that CONFIG_WIRELESS_EXT and CONFIG_WEXT_{PROC,PRIV} were not set. How embarrasing. Building prism54 did the trick.
_________________
hola
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum