NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: netbsd 4.0 iwi0 woes



Hey,

Remember that old rule of thumb, "If it ain't broke, don't fix it."?
That's a good one.  Remember it.  I know, it's hard.  Well, it's not hard
to remember it, but to actually follow it.  Don't try to fix something
that isn't broken.  Don't.

So I finally got my laptop back to be able to use my wifi access point.
It's now back to good' ole NetBSD 3.99.15, and I'm not going to be
upgrading anytime soon...


My IBM Thinkpad X41 had been running NetBSD 3.99.something for a long time
(well over two years), and pretty much everything was fine.  For some
reason that I can't remember anymore, I decided that I should upgrade the
laptop to the latest stable release of NetBSD, NetBSD 4.0.

I did the upgrade, and afterwards my laptop was unable to keep a
connection to my local wifi access point, even though it was able to
connect to my neighbor's (and stay connected).  I was also unable to wake
it up after putting it to sleep.

After some back and forth, I decided to upgrade further to NetBSD-current
(ie 4.99.x) to see if that works.  No luck.  I then tried to downgrade my
laptop back to 3.99.x, but unfortunately the toolchain provided by NetBSD
4.99.x is too picky to compile its older version (gcc got more stringent,
it seems).  So I couldn't even build my older release, and snapshots for
3.99.x are no longer available in tarballs.

So I had to fetch the NetBSD-3.1 tarballs, extract them into a local
directory, chroot into that directory, cvs checkout the sources from a
random date before 4.0 (I happened to choose 2006-06-02, even though
that's later than the snapshot I had been running), then build a new
release and kernel in the chroot.

After building the release, I booted into single-user mode, extracted the
3.99.x sets and tried to run /usr/sbin/postinstall.  Unfortunately, it
seems that postinstall's logic to determine which symlinks to remove is
based on numbers, not on what is provided by the tarballs.  That is, b/c
my system still had newer libraries (such as libc.so.12.159), postinstall
would remove libc.so.12.136 (to which /lib/libc.so was pointing), causing
any subsequent commands to fail.

I had to manually fix the "obsolete" symlinks (through a number of
/rescue/* invocations), re-extract the sets (to make sure everything got
back to where it should be) and re-run postinstall.

All in all, this took me about 4 days to get my laptop back into normal
working condition.  My new resolution: I won't upgrade unless I absolutely
have to.  No more trying to fix something that's not broken.

-Jan

Attachment: pgpzCsjwkayLK.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index