| Forum Home | ||||
| Press F1 | ||||
| Thread ID: 68893 | 2006-05-14 07:33:00 | Linux drivers for USB WiFi device | Atreides (7000) | Press F1 |
| Post ID | Timestamp | Content | User | ||
| 454839 | 2006-05-15 08:06:00 | Thanks Graham, that puts things together a bit in my head, but I think I have all those things and still it doesn't work.... I have gcc 4, the latest version, but some sites say that this zd1211 driver only compiles with gcc 3.4, so I apt-got that too, and changed a line in the Makefile of the zd1211 from "CC=gcc" to "CC=gcc-3.4". Still doesn't work. Why is it trying to make 'modules'? Why can't it? Here is the complete make working and error: peter@ubuntu-peter:/usr/src/zd1211src$ sudo make /lib/modules/2.6.12-10-386/build /usr/src/zd1211src -I/usr/src/zd1211src/src/include -fomit-frame-pointer -O2 -Wall -Wstrict-prototypes -pipe -DZDCONF_WE_STAT_SUPPORT=1 -DHOST_IF_USB -DAMAC -DGCCK -DOFDM -DHOSTAPD_SUPPORT -DUSE_EP4_SET_REG -DDOWNLOADFIRMWARE -DfTX_GAIN_OFDM=0 -DfNEW_CODE_MAP=1 -DfWRITE_WORD_REG=1 -DfREAD_MUL_REG=1 -DENHANCE_RX=1 -DZD1211 src/zd1205.o src/zdasocsvc.o src/zdauthreq.o src/zdauthrsp.o src/zdmmrx.o src/zdshared.o src/zdhci.o src/zdglobal.o src/zdencrypt.o src/zdpmfilter.o src/zdpsmon.o src/zdsynch.o src/zdbuf.o src/zd1205_proc.o src/zdhw.o src/zddebug.o src/zdtkipseed.o src/zdmic.o src/zdusb.o src/zd1211.o make -C /lib/modules/2.6.12-10-386/build SUBDIRS=/usr/src/zd1211src modules make[1]: Entering directory `/lib/modules/2.6.12-10-386/build' make[1]: *** No rule to make target `modules'. Stop. make[1]: Leaving directory `/lib/modules/2.6.12-10-386/build' make: *** [all] Error 2 peter@ubuntu-peter:/usr/src/zd1211src$ |
Atreides (7000) | ||
| 454840 | 2006-05-15 09:57:00 | In an ideal situation, you unzip the tar file (tar.gz) file, go to the appropriate directory (usually the directory that has a configure script) and enter ./configure make make install and thats it. But in alot of cases you get various errors, stumble along until you get no serious errors and hopefully the software will then run. But alot of distro's don't install the compiler (GCC) and header files by default so you have to install those first. It can be fun but frustrating when it don't work. I've compiled in Red Hat, Mandrake, SUSE but never in Ubuntu so I don't have any experience but the same basic compile process applies. Of course, refer to the INSTALL and README files to review the process before you start. |
dolby digital (5073) | ||
| 454841 | 2006-05-15 10:04:00 | Well it says there is no ./configure. Though there is a Makefile. Make gives the (serious) error above. Ubuntu did not include gcc or the headers, but I downloaded and installed them with apt-get, along with other things as suggested in this How-To (www.ubuntuforums.org) which I also already mentioned. I have indeed referred to a range of documentation and guides and forum posts but it all seems to come down to make, which doesn't work because it can't "make modules". Error in previous post. I can't work that out. I've been stumbling around for hours and hours and hours and my head is really starting to hurt from all the walls I've hit. Thanks anyway.. |
Atreides (7000) | ||
| 454842 | 2006-05-15 10:17:00 | Yes, not all compilation procedures include the configure script. Usually it checks for prerequite files etc. The one I like is when it says that a Bison is missing :D Hopefully Graham is working out your problem as we speak :confused: |
dolby digital (5073) | ||
| 454843 | 2006-05-16 03:38:00 | Ummm. :D Like everything to do with compiling, everything you enter has to be only just exactly correct. Which version (open source, or manufacturer's) gave the last output? The tar extraction will have made a directory with some subdirectories. You must be in the top level of that. That's the one which has Makefile, and usually, I hope, README, and INSTALL ... You have read README, and INSTALL if they exist. ;) Have a good look for a file called "configure" ("./" just means "in the current directory" -- because "." =current directory isn't in the PATH for root). But the INSTALL will refer to it if it does exist. (Probably not in the manufacturer's one, but the opensource one might). From that make output, it has started OK, setting up some general things which don't depend on the OS kernel. Then it has told itself to make "modules". The first thing that did was look in the /lib/modules/2.6.12-10-386/build directory for a file which identifies the exact kernel you have. (I'm not sure about this ... it's been a while; the "build" might be the file which does that). That information isn't there, so it drops out. {I'm a bit worried by the fact that it wants a "modules" target in the Makefile ... I think that should either be there, or made by a configure operation. A target in a Makefile is a label followed by a colon ":" e.g. "modules:" } You have installed the kernel source, so I think the way to get going is to do (in /usr/src/linux ) make oldconfig . That causes the kernel configurator to generate a kernel configure file which would make the current kernel, and a file or two like that one in /lib/modules. ;) (Again, it's been a while ...) You probably have to exit from that configurator, saving. Then look in the /lib/modules/2.6.12-10-386/build place again. (You don't have to compile the kernel ... you just need that one file which is made when a kernel is compiled). |
Graham L (2) | ||
| 454844 | 2006-05-16 08:30:00 | Thank you for that Graham. I'll have to try that tomorrow I think; today I'm catching up on the work and sleep which Linux stole from me over the last few days... ;) | Atreides (7000) | ||
| 454845 | 2006-05-18 04:54:00 | It was the open source driver that I've been trying to use. I've had another look at it all, and I think I remember creating an empty folder at /lib/modules/2.6.12-10-386/build when I first saw that error, since there's no /build directory in /lib/modules/2.6.12-9-386/. Someone on the Ubuntu forums suggested that I should create a link at /lib/modules/2.6.12-10-386/build pointing to /usr/src/linux or /usr/src/linux-headers. The former causes screeds of errors as it attempts to make all of the files in linux with the wrong makefile or something, lots of division by zero errors too. The latter causes less errors but stops right away, unable to find gcc-version.sh, Module.symvers, and Makefile.build. Both /usr/src/linux and /usr/src/linux-headers do exist (I downloaded all that stuff with apt-get as the How-To (www.ubuntuforums.org) told me) so that's not quite the problem. Any more ideas? Would you like me to post the actual text of the errors? This does seem like progress since it gets something different to happen! ;) |
Atreides (7000) | ||
| 454846 | 2006-05-18 06:31:00 | I haven't got Ubuntu installed anywhere, so I don't know how they handle this, but it ought to be similar in all distributions (a Linux thing, not a dist thing ... I hope). I'll have a look at a couple of my machines tonight. I just vaguely remember that "make oldconfig" being mentioned somewhere as a way around not having done a kernel, but I've always done full kernal compilations on any machines before I've done application or driver module compilations, so things have usually just worked. | Graham L (2) | ||
| 454847 | 2006-05-18 07:51:00 | I'm game to recompile the kernel, if that'll help. I think. Maybe I'd be better off installing a different distro, something which might work better with the USB thing straight off. I tried Knoppix just before and, as I expected, it didn't see it. Live CD. The thing is, I suppose, that overall Ubuntu seems very good; it's just this one problem. And the hard drive isn't really big enough for dual-booting comfortably, at just 10GB total. Actually, even though Ubuntu's good, a different distro may be what I'll go with, cos the next version of Ubuntu - Dapper Drake - will be out in a month or two and a fresh install of that will probably be the best option. So I could trial a different distro until then. Let's have some recommendations and personal tales of favoured distributions! Though I don't intend to completely self-hijack this thread - I'll keep working at this problem another several days at least. |
Atreides (7000) | ||
| 454848 | 2006-05-18 22:16:00 | YES! WE HAVE SUCCESS! Turned out to be a reasonably banal but typically obscure bit of trouble with symbolic linking. I needed /lib/modules/2.6.12-10-386/build to point to exactly /usr/src/linux-headers-2.6.12-10-386, and now make and make install have succeeded, I can modprobe -v zd1211, ifconfig wlan0 up, and iwconfig, iwlist scanning, and it all works! I'll try the particular programs I'm interested in after the weekend (I'm going away) but thought that posting this now would be worthwhile. Though I owe credit to the Ubuntu forums for the actual solution I have very much appreciated everyone's help here at PressF1: Speedy Gonzales for the initial response, Jen for the links to the Ubuntu forum area which proved so helpful, dolby digital for chipping in here and there, and of course Graham L for his clear explanations of linux headers, make, and modules! I'll have an update on whether I actually manage to connect to a network and get the programs working - and setting up WPA encryption will be an odyssey in itself, I expect. But I've got the driver installed! :D |
Atreides (7000) | ||
| 1 2 3 | |||||