2

I had the misfortune to buy two of these devices off ebay on the basis they were "compatible with linux, raspberry pi, and access point mode".

I'm running Xbian on my Raspberry Pi using a wired ethernet link. But since there's no wifi in my room, I need to set up the pi as an access point in bridged mode.

I've gotten as far as installing hostapd and bridge-utils but the device isn't recognised in 4.1.13+ (I don't think). So after many hours of searching I finally found the kernel sources and headers, downloaded the driver source from github, and compiled the thing. After I had the 8192.ko file I did this:

# mv 8192eu /lib/modules/4.1.13+/kernel/drivers/net/wireless
# echo "options 8192eu rtw_power_mgnt=0 rtw_enusbss=0" > /etc/modprobe.d/8192eu.conf
# depmod -a

Before when I ran modprobe 8192eu I got some errors. Now when I run modprobe 8192eu I get nothing which I assume is a good thing. Yet

# iw list

... still shows no output at all either.

The module is definitly loaded:

root@walle:/home/xbian# lsmod
Module                  Size  Used by
8192eu                936651  0 

... and I have what appears to be a working iface:

# ifconfig
wlan0     Link encap:Ethernet  HWaddr 00:13:EF:35:14:03  
      UP 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)

Yet hostapd complains:

root@walle:/home/xbian# hostapd -d /etc/hostapd/hostapd.conf 
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
Line 2: invalid/unknown driver '8192eu'
1 errors found in configuration file '/etc/hostapd/hostapd.conf'
Failed to set up interface with /etc/hostapd/hostapd.conf
hostapd_init: free iface 0x561419f0
Failed to initialize interface

Perhaps I need to recompile hostapd with the new driver?

I have grabbed the hostapd sources and started to compile. Yet I cannot find where in the defconfig file I would tell it to find the new driver. I have tried adding:

CONFIG_DRIVER_8192EU=y

and

CONFIG_DRIVER_8192eu=y

... yet it does not make a difference -- the new hostapd binary still cannot find the driver.

The new hostapd is:

root@walle:/home/xbian/hostapd-2.5/hostapd# ./hostapd -v
hostapd v2.5
User space daemon for IEEE 802.11 AP management,

The old hostapd is:

root@walle:/home/xbian/hostapd-2.5/hostapd# hostapd -v
hostapd v2.3
User space daemon for IEEE 802.11 AP management,

Thanks in advance.

migrated from stackoverflow.com Feb 8 '16 at 23:18

This question came from our site for professional and enthusiast programmers.

  • Feel free to move it there if that suits, but this definitly fits under the category of tools used for programming since it concerns the build process for software drivers. – Daniel James Feb 8 '16 at 21:21
  • I was going to welcome you to the Raspberry Pi corner of the Stack Exchange - but you have not (yet) become a member so I can't! Your thought: "Now when I run modprobe 8192eu I get nothing which I assume is a good thing." does seem promising - with kernel modules "no news is good news"! – SlySven Feb 8 '16 at 23:27
1

First are you sure you're using the 8192EU chipset? Confirm with lsusb. You should see 0bda:818b somewhere. If not, then you have something else.

Second, are you sure that wlan0 is your USB interface and not the built-in wifi or something else? Does it disappear when you remove the USB dongle?

What does 'iwconfig' and 'iwlist scanning' show?

Third, I'm pretty sure the only driver hostapd recognizes is 'nl80211' (unless you're using some custom hostapd), so that's why it's complaining about not knowing what 8192eu is.

Fourth, I haven't tried compiling hostapd, but when you say "I have grabbed the hostapd sources and started to compile. Yet I cannot find where in the defconfig file I would tell it to find the new driver. I have tried adding:

CONFIG_DRIVER_8192EU=y

and

CONFIG_DRIVER_8192eu=y "

...it sounds like you're compiling the kernel there. Where did you get your hostapd source from?

I have this chip working fine in STA mode. It's working quite well actually but I haven't been able to get it to work in AP mode. I'm still trying to find out if that's even possible with this chipset/driver. Where did you see the "compatible with Linux, Raspberry Pi and Access Point mode" statement?

1

It's very simple, actually, but you need to be careful, since you're running on ARM. What you do is (after you install the kernel headers and other prerequisites, such as gcc, git and make):

git clone https://github.com/Mange/rtl8192eu-linux-driver
cd rtl8192eu-linux-driver
make clean
make ARCH=arm
make install

After that, you need to blacklist the built-in driver rtl8xxxu somewhere, if it loads. The device won't work, if both drivers load at the same time. All in all, the driver works very well, out of the box, with hostapd, no need for a special version of it, as some posts say. But you need to remove all references to driver= from the hostapd.conf file (comment out the driver= lines).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.