Log in

No account? Create an account
brad's life [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Dear Linux/Debian [Sep. 24th, 2001|10:46 pm]
Brad Fitzpatrick

Dear Linux/Debian/PCMCIA,

Blow me.

- Brad

So, uh, I'd been using the kernel pcmcia drivers for my net card because pcmcia-{cs|modules} blows. But now I have to get pcmcia-cs working because I want to use my CompactFlash as a drive and want to use my new Orinoco wireless card.

But cardmgr hangs my system hard. Oh, gotta disable cardmgr from using ports 0x800-0x8ff in /etc/pcmcia/config.opts, ya know? It should fucking auto-detect that. It's in the documentation, along with 30 other work-arounds for different laptop modules... go put it in a database and detect it at run time. Windows manages. Linux should too.

Okay, cardmgr works now. Now I have to build pcmcia-modules because I'm using a custom kernel for ReiserFS and other shit. So I have to get pcmcia-source and build my pcmcia-modules using make-kpg modules_image ... not a problem. Done it before, easy enough.

Oh, but pcmcia-cs won't build modules if you have CONFIG_PCMCIA on in your kernel. Okay, undo that... guess I'll use pcmcia-cs for my wired network card also. Feh.

make-kpkg modules_image (documentation says to use -rev but Debian bitches... yay for outdated documentation)

Compile, compile... woah, it's compiling *_cs modules now! Oh, there's ide_cs.o ... bad ass. Chug chug chug... ERROR.

Turns out wvlan_*.c uses the old min()/max() macros from pre-linux-2.4.8/9 when they changed to three-argument min()/max(). But in linux-2.4.10 they changed it back because everybody got pissed off. So in the meantime (because Debian hasn't packaged 2.4.10 with its mods and the 2.4.10 patch won't apply cleanly over debian's 2.4.9) I have to use 2.4.9 ... with three argument min/max.

So then I had to modify wvlan*.cs in pcmcia-cs to add the first type argument (which is the max_t and min_t macros in 2.4.10).

Everything built now. I now have:

Linus can blow me. Stupid API changes in the middle of a stable kernel series.

In retrospect, I could've used non-Debian linux-2.4.10 ... I tried it and it wouldn't build my modules_image so I figured I was screwed, but I realize now that's because I had CONFIG_PCMCIA on when I tried. GAAAR.

Hooray. Time to reboot lapwarmer. Then Starbucks?

Update: "{wvlan|ide}_cs.: Card Services release does not match!" *sigh* Die, bitch... I will fix you.... cd /usr/src/modules/pcmcia/ && debian/rules binary

[User Picture]From: teferi
2001-09-24 10:52 pm (UTC)
2.4.10 doesn't even work with my NIC, kernel CS OR pcmcia-cs modules.
PLUS, I have to use an old version of cardmgr + config files to make things work at all...
This site was quite helpful when I was struggling through driver hell with my Inspiron 8000...hope it's useful for you.
(Reply) (Thread)
[User Picture]From: brad
2001-09-24 11:02 pm (UTC)
I think you sent me that URL when I first got my laptop. :)
(Reply) (Parent) (Thread)
[User Picture]From: teferi
2001-09-25 05:55 am (UTC)
Did I? Sorry.
Just trying to help.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: niko
2001-09-24 11:34 pm (UTC)
you mean "Take your words and put them in a suppositorial configuration."
(Reply) (Parent) (Thread)
[User Picture]From: niko
2001-09-24 11:42 pm (UTC)
where the hell were you when I couldn't get linux to agree with my linksys ethernet card and sound card? :\
(Reply) (Thread)
[User Picture]From: foobar
2001-09-24 11:59 pm (UTC)
hahahaha ou need a life. Get druink , alcohol is good. :P Yuo spend too much time worrying aobvu your computers.
(Reply) (Thread)
[User Picture]From: brad
2001-09-25 12:14 am (UTC)
"I get no kick from champagne.
Mere alcohol doesn't thrill me at all..."

(Reply) (Parent) (Thread)
[User Picture]From: jnala
2001-09-25 12:35 pm (UTC)
Yeah, I had basically the same experience. In-kernel PCMCIA is way less mature than pcmcia-cs; should have been using that in the first place. But having to put the #define min/max in the include files for pcmcia-cs to make it compile is just dumb.

Not Linux's finest moment.
(Reply) (Thread)