Open MrEngman opened 10 years ago
What symbol is unknown? You can get that from the output of dmesg. My guess is that you missed something in the kernel configuration.
BTW, if you use kernel 3.12, this driver is built in.
Presumably the symbol is "schedule_work" that is described as undefined when the module is compiled. Checked dmesg and yes it is "schedule_work".
I try to maintain a set of compiled drivers, for wifi using 8188eu, for people using Raspbian on the Raspberry Pi. This is currently 3.6.11+ but is about to be updated to 3.10.18+ as rpi-update master branch has just updated to 3.10.18+, and I would like continue updating the compiled driver until it is include in the standard build. Rather like the 8188cus driver I used to compile and make available for people before that was included in the standard build.
Could be I've screwed up the configuration, just not sure how to figure out how if I have.
I just fired up my RPi that runs Raspbian and updated the git repo. I have switched to the 3.10.y branch and I am building 3.10.18. The kernel build started at 06:20 UTC on Nov 6. I do not remember how long it takes. I have never setup a cross-build system, and my sources are on an NFS volume, thus it takes a long time.
I'll let you know my results.
Thanks. Much appreciated that you can find some time to look at this.
Same Problem here: https://github.com/liwei/rpi-rtl8188eu/issues/4
Needs to adapt create_proc_read_entry and replace it with proc_create() and proc_create_data() and the use of seq_file facilities.
Same problem here... I'm looking forward to the new, pre-compilled 3.10.18+ version of 8188eu. I really appreciate your efforts!
I finally got 3.10.18+ built for RPi. My version of the git repo had code for the driver.
In case my repo is different than yours, http://www.lwfinger.net/download/r8188eu_add_driver.patch will add the driver from scratch.
http://www.lwfinger.net/download/0001-staging-r8188eu-Update-driver-to-latest-version.patch will update what was in my repo to the latest version.
Whichever version you need to use, external firmware will be needed. http://www.lwfinger.net/download/rtl8188eufw.bin has the file.
Thanks for that. I'll let you know how I get on.
Those URLs above should be lwfinger.com, not lwfinger.net. Sorry about that. The correct links are http://www.lwfinger.com/download/r8188eu_add_driver.patch http://www.lwfinger.com/download/0001-staging-r8188eu-Update-driver-to-latest-version.patch http://www.lwfinger.com/download/rtl8188eufw.bin
One thing I did notice on 3.10.18+ is that the ping times are very long. Is there something wrong with the USB layer?
I will try the latest version on the git repo to see if that makes a difference. I got my cross compiler fixed and I can build a new system fairly quickly.
Hi Larry,
Thanks for your help fixing this problem on such a short time frame!
As a relative new Linux user I’m unsure what to do with these patches, is there a step-by-step procedure somewhere how to apply?
Or is there a pre-compiled 8188ey.ko file available to use, using the existing procedures?
Regards, Rob
No, kernel modules are quite finicky. They not only have to be built using the same configuration and headers as the underlying kernel, but they need to be built with the same version of the compiler. That means that you need to build it yourself.
Mmm, thats a pitty, all the build procedures I was able to find on the net so far failed on a RPi fresh wheezy install with the latest firmware installed (using rpi-update).
Latest used procedure found at http://tech.enekochan.com/2013/05/29/compile-and-install-driver-for-tp-link-tl-wn725n-version-2-in-raspbian executed as root in /root:
git clone https://github.com/lwfinger/rtl8188eu.git
git clone --depth 1 git://github.com/raspberrypi/linux.git rpi-linux
git clone --depth 1 git://github.com/raspberrypi/firmware.git rpi-firmware
cd rpi-linux
make mrproper
zcat /proc/config.gz > .config
make modules_prepare
cp ../rpi-firmware/extra/Module.symvers .
cd ../rtl8188eu
CONFIG_RTL8188EU=m make -C ../rpi-linux M=pwd
sudo rmmod 8188eu
sudo install -p -m 644 8188eu.ko /lib/modules/uname -r
/kernel/drivers/net/wireless
sudo depmod -a
sudo modprobe 8188eu
line failing:
CONFIG_RTL8188EU=m make -C ../rpi-linux M=pwd
errors (without doing anything with your delivered patch files):
root@pi001:~/rpi-rtl8188eu# CONFIG_RTL8188EU=m make -C ../rpi-linux M=pwd
make: Map '/root/rpi-linux' wordt binnengegaan
LD /root/rpi-rtl8188eu/built-in.o
CC [M] /root/rpi-rtl8188eu/core/rtw_cmd.o
In file included from /root/rpi-rtl8188eu/core/rtw_cmd.c:23:0:
/root/rpi-rtl8188eu/include/osdep_service.h: In function âthread_enterâ:
/root/rpi-rtl8188eu/include/osdep_service.h:1397:2: error: implicit declaration of function âdaemonizeâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: * [/root/rpi-rtl8188eu/core/rtw_cmd.o] Fout 1
make: * [module/root/rpi-rtl8188eu] Fout 2
make: Map '/root/rpi-linux' wordt verlaten
what should I do with the three patch files you offered to make this work?
I've replaced the original Kconfig file with the one from your first link and now I get the same error while executing CONFIG_RTL8188EU=m make -C ../rpi-linux M=pwd
CONFIG_RTL8188EU=m make -C ../rpi-linux M=pwd
make: Directory '/root/rpi-linux' entered
CC [M] /root/rpi-rtl8188eu/core/rtw_cmd.o
In file included from /root/rpi-rtl8188eu/core/rtw_cmd.c:23:0:
/root/rpi-rtl8188eu/include/osdep_service.h: In function âthread_enterâ:
/root/rpi-rtl8188eu/include/osdep_service.h:1397:2: error: implicit declaration of function âdaemonizeâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: * [/root/rpi-rtl8188eu/core/rtw_cmd.o] Fout 1
make: * [module/root/rpi-rtl8188eu] Fout 2
make: Left directory '/root/rpi-linux'
Where did you get those source files? My version has not had that daemonize call for some time.
One or the other of those patch files are meant to be applied to the Raspbian source so that you can build its kernel with driver r8188eu built in. The 3rd file is firmware, noit a patch.
I just cloned it using:
git clone https://github.com/liwei/rpi-rtl8188eu.git (according to the found procedure). Oops, let me try the correct one (updated above procedure with correct git container).
Recompiling... (seems to work better now)
compiled without errors, executed:
rmmod 8188eu install -p -m 644 8188eu.ko /lib/modules/uname -r/kernel/drivers/net/wireless depmod -a modprobe 8188eu
ERROR: could not insert '8188eu': Invalid argument
also tried:
insmod /lib/modules/uname -r
/kernel/drivers/net/wireless/8188eu.ko
Error: could not insert module /lib/modules/3.10.18+/kernel/drivers/net/wireless/8188eu.ko: Invalid parameters
@RobboRob
i think you must use https://github.com/lwfinger/rtl8188eu.git and not https://github.com/liwei/rpi-rtl8188eu.git.
Then apply the .patch for the lwfinger repo.
I’m unsure what to do with these patches, but google can help :)
... and executed as pi in /home/pi ...
"One or the other of those patch files are meant to be applied to the Raspbian source so that you can build its kernel with driver r8188eu built in."
I understand that we patch the org. RPI kernel sources - correct?
Yes.
Anyone getting anywhere with this issue.
When trying to compile I am getting a weird error but don't know why or how to fix it. Error is
" LD arch/arm/mach-bcm2708/built-in.o CC kernel/fork.o CC kernel/exec_domain.o CC kernel/panic.o CC kernel/printk.o CC kernel/cpu.o CC kernel/exit.o CC kernel/itimer.o HZFILE kernel/hz.bc BC kernel/timeconst.h /bin/sh: 1: bc: not found make[1]: * [kernel/timeconst.h] Error 127 make: * [kernel] Error 2 "
Found this http://lkml.indiana.edu/hypermail/linux/kernel/1303.0/03271.html but doesn't help as patch is already applied.
@lwfinger do you have a working r8188eu.ko? Any chance you can post it somewhere to download if you have
MrEngman
I was able to compile without errors but it wouldn't install on the Raspberry Pi when modprobe command was executed:
modprobe 8188eu
ERROR: could not insert '8188eu': Invalid argument
Hi RobboRob,
I was able to compile OK as well but had the same problem and when I ran modinfo r8188eo.ko it said file was for 3.6.11+. I ran git checkout rpi-3.10.y to change from master to 3.10.y branch and now I get the error I decribed in previous post.
Very frustrating. Compile modules loads of time without problems until now.
I'm at the point to discard the Wifi dongle and order a TP-Link WN823N 300n equivalent which I use for a second RPi module and still works after the rpi-update to 3.10.18+ (http://www.tp-link.com/en/products/details/?model=TL-WN823N)
I have Edimax EW-7811Un (rtl8188cus, 8192cu driver), EW-7622UMn (rtl8192su?, using r8712u driver) and Netgear WNA1100 (Atheros AR9271, using ath9_htc driver) and all these are working OK after updating to 3.10.18+.
But really would like to solve this issue as there will be a load of people with the TL-WN725N V2 likely to be having the same problem before too long.
Sorted the problem with compiling 3.10.18+ and bc: not found. Dom suggested sudo apt-get install bc which fixed it.
Waiting for the compile to complete, a few hours I guess, and I'll see what happens then.
@ MrEngman: Do you compile the kernel or the driver.ko only?
Von: MrEngman [mailto:notifications@github.com] Gesendet: Samstag, 9. November 2013 15:37 An: lwfinger/rtl8188eu Cc: rolsch Betreff: Re: [rtl8188eu] Unable to compile module after updating from 3.6.11+ to 3.10.18+ (#18)
Sorted the problem with compiling 3.10.18+ and bc: not found. Dom suggested sudo apt-get install bc which fixed it.
Waiting for the compile to complete, a few hours I guess, and I'll see what happens then.
— Reply to this email directly or view it on GitHub https://github.com/lwfinger/rtl8188eu/issues/18#issuecomment-28128467 . https://github.com/notifications/beacon/LdDdrMM6tz2uWE_thNxGUVsgu-2SSvTuHSYRPhpdeAWVho8ay5TfEio4JZrOLEci.gif
The kernel image is at http://www.lwfinger.com/download/kernel.img_3.10.18.bz2. A tarball with the modules is at http://www.lwfinger.net/download/modules_3.10.18.tar.bz2.
Decompress the kernel image and copy it to /boot. Change directory to / and 'tar jxvf
I can unbzip and untar the second file but the first file I can only unbzip. Should they both go into /boot?
I didn't find a rtl8188.eu.ko or 8188eu.ko file in the modules tar ball???
output modinfo:
filename: /lib/modules/3.10.18+/kernel/drivers/net/wireless/8188eu.ko firmware: rtlwifi/rtl8188eufw.bin version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver license: GPL srcversion: D4D022174822924914833AF alias: usb:v2001p330Fd_dc_dsc_dp_ic_isc_ipin alias: usb:v8179p07B8d_dc_dsc_dp_ic_isc_ipin alias: usb:v0BDAp0179d_dc_dsc_dp_ic_isc_ipin alias: usb:v0BDAp8179d_dc_dsc_dp_ic_isc_ipin depends: vermagic: 3.10.18+ mod_unload modversions ARMv6 parm: rtw_ips_mode:The default IPS mode (int) parm: ifname:The default name to allocate for first interface (charp) parm: if2name:The default name to allocate for second interface (charp) parm: rtw_initmac:charp parm: rtw_channel_plan:int parm: rtw_chip_version:int parm: rtw_rfintfs:int parm: rtw_lbkmode:int parm: rtw_network_mode:int parm: rtw_channel:int parm: rtw_mp_mode:int parm: rtw_wmm_enable:int parm: rtw_vrtl_carrier_sense:int parm: rtw_vcs_type:int parm: rtw_busy_thresh:int parm: rtw_ht_enable:int parm: rtw_cbw40_enable:int parm: rtw_ampdu_enable:int parm: rtw_rx_stbc:int parm: rtw_ampdu_amsdu:int parm: rtw_lowrate_two_xmit:int parm: rtw_rf_config:int parm: rtw_power_mgnt:int parm: rtw_smart_ps:int parm: rtw_low_power:int parm: rtw_wifi_spec:int parm: rtw_antdiv_cfg:int parm: rtw_antdiv_type:int parm: rtw_enusbss:int parm: rtw_hwpdn_mode:int parm: rtw_hwpwrp_detect:int parm: rtw_hw_wps_pbc:int parm: rtw_max_roaming_times:The max roaming times to try (uint) parm: rtw_fw_iol:FW IOL (int) parm: rtw_mc2u_disable:int parm: rtw_80211d:Enable 802.11d mechanism (int) parm: rtw_notch_filter:0:Disable, 1:Enable, 2:Enable only for P2P (uint) parm: debug:Set debug level (1-9) (default 1) (int)
I still get:
modprobe 8188eu ERROR: could not insert '8188eu': Invalid argument
Hi Rolsh,
I usually compile just the driver.ko but the format of the Makefile does not make this possible so I am having to compile the whole kernel. It’s taking a long time. Had another different error and had to restart the compile so no idea when it will finish, several hours I expect.
From: rolsch [mailto:notifications@github.com] Sent: 09 November 2013 15:24 To: lwfinger/rtl8188eu Cc: Richard Waltham Subject: Re: [rtl8188eu] Unable to compile module after updating from 3.6.11+ to 3.10.18+ (#18)
@ MrEngman: Do you compile the kernel or the driver.ko only?
Von: MrEngman [mailto:notifications@github.com] Gesendet: Samstag, 9. November 2013 15:37 An: lwfinger/rtl8188eu Cc: rolsch Betreff: Re: [rtl8188eu] Unable to compile module after updating from 3.6.11+ to 3.10.18+ (#18)
Sorted the problem with compiling 3.10.18+ and bc: not found. Dom suggested sudo apt-get install bc which fixed it.
Waiting for the compile to complete, a few hours I guess, and I'll see what happens then.
— Reply to this email directly or view it on GitHub https://github.com/lwfinger/rtl8188eu/issues/18#issuecomment-28128467 . https://github.com/notifications/beacon/LdDdrMM6tz2uWE_thNxGUVsgu-2SSvTuHSYRPhpdeAWVho8ay5TfEio4JZrOLEci.gif
— Reply to this email directly or view it on GitHub https://github.com/lwfinger/rtl8188eu/issues/18#issuecomment-28129375 . https://github.com/notifications/beacon/xhZ0EYojBMgB9NRFcGAD7AVLOAmEUVdafEodJ-ti5PfarQcLVa2uBFh0Zs50dSlG.gif
Hi RobboRob,
It’s possible the problem is this.
Command uname –a shows “Linux raspberrypi 3.10.18+ #585 Thu Nov 7 15:16:15 GMT 2013 armv6l GNU/Linux” for my running kernel.
Command modinfo r8188eu.ko shows info “vermagic: 3.10.18+ preempt mod_unload modversions ARMv6” for lwfingers module, which includes “preempt”. So may be it’s compiled with a different format kernel – using preempt. Just a thought.
From: RobboRob [mailto:notifications@github.com] Sent: 09 November 2013 17:29 To: lwfinger/rtl8188eu Cc: Richard Waltham Subject: Re: [rtl8188eu] Unable to compile module after updating from 3.6.11+ to 3.10.18+ (#18)
I still get:
modprobe 8188eu ERROR: could not insert '8188eu': Invalid argument
— Reply to this email directly or view it on GitHub https://github.com/lwfinger/rtl8188eu/issues/18#issuecomment-28132146 . https://github.com/notifications/beacon/xhZ0EYojBMgB9NRFcGAD7AVLOAmEUVdafEodJ-ti5PfarQcLVa2uBFh0Zs50dSlG.gif
I'm afraid this is a little above my paygrade. Although I have an extensive Unix background (but that was 15 years ago) I only started with the RPi and Linux recently. Lots of specifics is still to learn...
ran rpi-update, bricked my pi. if anyone has any more insights for compiling on 3.10.18+ -- I can't get it to work.
I was able to compile using some weird linux kernel headers I'd set up (for 3.10.18), but got Invalid exec format after using modprobe.
It was likely the weird kernel headers. To help all of you, I have created a copy of the repo with all the patching done. I am using 3.11.7 rather than 3.10.18, but you need to do the following:
git clone http://github.com/lwfinger/linux.git cd linux git checkout remotes/origin/rpi-3.11.y git checkout -b rpi-3.11.y git branch --set-upstream-to=origin/rpi-3.11.y rpi-3.11.y git pull cp config_save_3.11 .config make ./install_kernel
If the above finishes with no errors or warnings, then
sudo reboot
There is a driver compatible with latest rpi-update for raspbian
Linux raspberrypi 3.10.18+ #587 Sun Nov 10 15:30:45 GMT 2013 armv6l GNU/Linux
available at https://dl.dropboxusercontent.com/u/80256631/8188eu-20131111.tar.gz
Uses a slightly older version of lwfingers code and does NOT need a separate firmware file :)
Beware. Most of the changes in my code are to fix bugs. Using an older version means those are not fixed.
@MrEngman Thank you so much for providing the download. I have the same kernel version and now I have a working TL-WN725N V2. @lwfinger Thank you for providing this driver.
I haven't had, and don't have, problems with it (version from 27 Sept), and I am able to compile it as a separate module without compiling the kernel as it has a "proper" Makefile.
Would be helpful if you could restore the original format Makefile into the current version then it could be compiled without having to compile it with the kernel, and it will only take 10-15 minutes to find if it works or not. Compiling the new version with the kernel takes forever on the RPi and the module will not install for some reason. For me most recent error is "Invalid module format". Viewing modinfo data shows no difference to working modules so no idea why it fails to work.
@MrEngman: can you describe the compiling steps - thanks.
@lwfinger, I got it working due to a pre-compiled version made by @mrEngman based on your scripts! Both thanks again for making this working!
download & install description at: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=60152&p=451997#p451997
PS to use it you need to update to RPi firmware build #587!
Hmm, i've now compile the kernel 3.12.y. But i don't know how the 8188eu driver works. No wlan0 Interface...
Did you check the output of dmesg? You probably did not install the firmware.
I've crosscompiled the rpi 3.12.y kernel.
git init git fetch git://github.com/raspberrypi/linux.git rpi-3.12.y:refs/remotes/origin/rpi-3.12.y git checkout rpi-3.12.y
This is my scripting: http://pastebin.com/cqfAeXQt
dmesg: http://pastebin.com/2uRHGZPR lsusb;lsmod;uname -a: http://pastebin.com/jQd5Ha1K
Nor should you. Driver r8188eu is in staging, and it does not use rtlwifi!!
OK, finally sorted my problem with compiling for 3.10.18+, and now 3.10.19+. Mainly down to problems on my behalf and a certain lack of brain power, although there did seem to be some inconsistencies in the repos for linux and firmware which did not help. The Makefile problem was also mainly a lack of brain power, due to the Makefile in the patch file which was actually irrelevant for what I wanted to do.
Anyway for anyone interested in drivers, using the latest 19 Oct r8188eu source, for 3.10.18+ and 3.10.19+ read on.
rtl8188eu drivers for 3.10.18+
rtl8188eu drivers for 3.10.19+
Installation details here: http://www.raspberrypi.org/phpBB3/viewtopic.php?p=454488#p454488
Hello MrEngman, my rpi runs at 3.12.x Kernel. Please explain how you compile the driver.
@lwfinger: i can't find the driver in staging (see my post and logs... ). Any suggestions?
What repo are you using for you 3.12 kernel?
@lwfinger : https://github.com/lwfinger/rtl8188eu/issues/18#issuecomment-28645777
=> git://github.com/raspberrypi/linux.git rpi-3.12.y:refs/remotes/origin/rpi-3.12.y
After updating my Raspberry Pi from Raspbian 3.6.11+ to 3.10.18+ using rpi-update yesterday I cannot now compile 8188eu.ko without getting warnings which appear to stop the kernel loading the driver.
If I compile using the following which required that I provided some input to fully configure .config during command make modules_prepare
cd src/linux make mrproper zcat /proc/config.gz > .config make modules_prepare cp /home/pi/src/firmware/extra/Module.symvers . cd /home/pi/src/rtl8188eu-master CONFIG_RTL8188EU=m make -C /home/pi/src/linux M=
pwd
the compile terminates with the following warning
Building modules, stage 2. MODPOST 1 modules WARNING: "schedule_work" [/home/pi/src/rtl8188eu-master/8188eu.ko] undefined! CC /home/pi/src/rtl8188eu-master/8188eu.mod.o LD [M] /home/pi/src/rtl8188eu-master/8188eu.ko make: Leaving directory `/home/pi/src/linux'
Attempting to load the 8188eu.ko module generates the following error
sudo install -p -m 644 8188eu.ko /lib/modules/
uname -r
/kernel/drivers/net/wireless sudo insmod /lib/modules/uname -r
/kernel/drivers/net/wireless/8188eu.ko Error: could not insert module /lib/modules/3.10.18+/kernel/drivers/net/wireless/8188eu.ko: Unknown symbol in moduleHopefully I've not made some stupid error and I'm wasting your time. Let me know if you need more data.
MrEngman