Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 77111 - New baselayout 1.11.8 & Prism54 - inconsistent WEP behaviour - now can't start inteface
Summary: New baselayout 1.11.8 & Prism54 - inconsistent WEP behaviour - now can't star...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] baselayout (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 66472
  Show dependency tree
 
Reported: 2005-01-07 23:06 UTC by Joe Stroller
Modified: 2005-01-31 00:02 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Results of manually application of `ifconfig` & `iwconfig` (moreWeirdStuff.txt,8.15 KB, text/plain)
2005-01-08 21:55 UTC, Joe Stroller
Details
Further diagnostic output, follwing application of patch (Diagnostic.txt,9.63 KB, text/plain)
2005-01-10 21:40 UTC, Joe Stroller
Details
removes addresses when configuring device (net.lo.patch,604 bytes, patch)
2005-01-11 03:08 UTC, Roy Marples (RETIRED)
Details | Diff
For some reason the patch wouldn't apply. (net.lo.rej,806 bytes, text/plain)
2005-01-12 05:56 UTC, Joe Stroller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Stroller 2005-01-07 23:06:02 UTC
I'm seeing really weird behaviour with the new baselayout & WEP,
when trying to run my Allnet All0271 card (Prism54 drivers) in
master mode:

durex ~ # /etc/init.d/net.eth1 start
 * Re-caching dependency info (mtimes differ)...
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP disabled)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ ok ]
durex ~ # /etc/init.d/net.eth1 restart
 * Stopping eth1
 *    Bringing down eth1
 *       Shutting down eth1 ...                                           [ ok ]
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP enabled - restricted)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ ok ]
durex ~ # /etc/init.d/net.eth1 stop   
 * Stopping eth1
 *    Bringing down eth1
 *       Shutting down eth1 ...                                           [ ok ]
durex ~ # /etc/init.d/net.eth1 start
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP disabled)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ ok ]
durex ~ # /etc/init.d/net.eth1 restart
 * Stopping eth1
 *    Bringing down eth1
 *       Shutting down eth1 ...                                           [ ok ]
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP enabled - restricted)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ ok ]
durex ~ # /etc/init.d/net.eth1 stop
 * Stopping eth1
 *    Bringing down eth1
 *       Shutting down eth1 ...                                           [ ok ]
durex ~ # /etc/init.d/net.eth1 start
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP disabled)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ ok ]
durex ~ # /etc/init.d/net.eth1 restart
 * Stopping eth1
 *    Bringing down eth1
 *       Shutting down eth1 ...                                           [ ok ]
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP enabled - restricted)
 *    Bringing up eth1
 *       192.168.0.1       
durex ~ # 

This is absolutely reproducible - since the principal use of this box
is to be a wireless access point & I'm early in the build I even went so
far as to `rm -rf` my whole system & reinstall from 2004.3 stage 3
 - I still got the same thing.

If I watch using KisMAC on another machine it confirms that the
network is seen to come up with & without WEP as per the output
above.

I have also tried this with two different Allnert ALL0271 cards.

Now, what's really weird, is that I started to file this bug three days ago
before & I decided to reboot the machine & document  whether WEP
was enabled or not when I added eth1 to the default runlevel.
Thereafter I get:

# /etc/init.d/net.eth1 start
 * Starting eth1
 *    Configuring wireless network for eth1
 *       eth1 connected as "NedNet"
 *       in master mode (WEP disabled)
 *    Bringing up eth1
 *       192.168.0.1                                                      [ !! ]

Thereafter, even following reboots of the system, removing net.eth1
from the default runlevel & rebooting again, I STILL get the same
result of being unable to start the interface. And this is the same before 
AND after the rebuild.

Initially I thought this was related to #74786, but `dmesg` shows:
...
eth1: islpci_open()
eth1: resetting device...
eth1: uploading firmware...
eth1: firmware uploaded done, now triggering reset...
eth1: prism54_set_txpower() auto power will be implemented later.
eth1: prism54_set_txpower() auto power will be implemented later.
eth1: islpci_close ()

Which I think indicates that the firmware has been loaded successfully.

I have tried with more than one kernel - gentoo-dev-sources-2.6.10 & gentoo-dev-sources-2.6.9, I think, and I have tried using the Prism54 ebuild & using the prism54 module supplied with the kernel, compiled as a module. I have also tried baselayout-1.11.7-r2 (currently baselayout-1.11.8).

I have tried adding NET_DEBUG=1 to my /etc/conf.d/wireless, but the output is all Perl to me.

Configuration is:

durex ~ # cat /etc/conf.d/net.eth0 /etc/conf.d/wireless
# For a static configuration, use something like this
ifconfig_eth0=( "192.168.1.44/24" )
routes_eth0=( "default via 192.168.1.1" )

modules_eth1=( "iwconfig" )
ifconfig_eth1=( "192.168.0.1" )
mode_eth1="Master"
essid_eth1="NedNet"
channel_eth1="1"  
key_NedNet="a8880b1056a1368d5a31de14fb"
durex ~ # 


Reproducible: Always
Steps to Reproduce:
1. Install Gentoo from Stage3 using 2004.3 CD.
2. Package unmask =sys-apps/baselayout-1.11.8 =sys-libs/readline-5.0-r1 >=sys-apps/sysvinit-2.84 >=app-shells/bash-3.0-r7
3. emerge world && USE="~x86" emerge baselayout-1.11.8 && emerge hotplug wireless-tools
4. Configure the wireless interface & try to bring it up, as above
Actual Results:  
See above

Expected Results:  
Brought the wireless interface up in WEP mode.

durex ~ # emerge info
Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-
r13 i686)
==============================================================
===
System uname: 2.6.9-gentoo-r13 i686 AMD Duron(tm) processor
Gentoo Base System version 1.6.8
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/
qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/
gentoo"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 acl apm arts avi berkdb bitmap-fonts crypt cups encode extensions foomaticdb fortran 
gdbm gif gpm gtk2 jpeg justify kde libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl 
oss pam pdflib perl pica png python qt quicktime readline sdl spell ssl svga tcpd tiff truetype xml2 
xmms xv zlib"
Comment 1 Joe Stroller 2005-01-08 21:55:04 UTC
Created attachment 47995 [details]
Results of manually application of `ifconfig` & `iwconfig`

I've taken a bit of a closer look at things & it seems that manually applying
`ifconfig` will bring the interface up - so I don't know what the init scripts
are doing wrong. Since just `ifconfig eth1 up` works, it seems like they're
allocating the interface its IP address, but not bringing it up; Also note how
they seem to be doing this stuff to eth1, even though eth1 isn't part of the
default runlevel. :/

I've appended a bunch of documentary output as an attachment, otherwise this
bug report will get very hard to read.
Comment 2 Roy Marples (RETIRED) gentoo-dev 2005-01-10 05:46:15 UTC
Could you test with the patch posted for bug #74802 please - it should address the wep key problem
Comment 3 Joe Stroller 2005-01-10 21:40:48 UTC
Created attachment 48161 [details]
Further diagnostic output, follwing application of patch 

Ok, I've applied the patch as requested & it seems to make some improvement.
WEP is now applied perfectly if the interface is not started at bootup, but in
order to achieve this you'll see that I had to comment out all the config for
eth1, as the init scripts still seem to be sourcing it, even though that
interface isn't specified in the default runlevel.

Roy: let me know if you'd like to shell into this box - email me at stroller at
< stellar dot eclipse dot co dot uk > for the details. I'm quite keen to get
this fixed - and then move on to bridging the interfaces & add in PPPoA ADSL -
and I reckon you could diagnose stuff a lot more quickly than I can.
Comment 4 Roy Marples (RETIRED) gentoo-dev 2005-01-11 03:08:23 UTC
Created attachment 48181 [details, diff]
removes addresses when configuring device

Joe, I think I have the problem nailed down thanks to Xamindar
http://forums.gentoo.org/viewtopic.php?t=276931

However, this is *not* a permament fix as it will break people who configure
their network settings via kernel start parameters
Comment 5 Roy Marples (RETIRED) gentoo-dev 2005-01-11 08:21:56 UTC
I have a fix in CVS now - will be in baselayout-1.11.9
Comment 6 Joe Stroller 2005-01-11 08:51:31 UTC
I haven't had a chance yet to try the patch you attached above - I'll be able to do so c 10pm or midnight GMT. Is the fix in CVS based on this patch, or on the more permanent solution you mention as being required for those using kernel start parameters?

Do you have any idea when baselayout-1.11.9 will be ready for testing?
Comment 7 Roy Marples (RETIRED) gentoo-dev 2005-01-11 10:00:24 UTC
It's a permament solution - but the end fix is still the same for this problem.

Basically we need to remove all addresses from the interface before configuring it - however that may not be desired as some people need to configure their nic via the kernel command line.

So to satisfy everyone a "noop" config parameter has been introduced. noop means no operation if the interface is up and has an address - otherwise continue as normal.
Comment 8 Roy Marples (RETIRED) gentoo-dev 2005-01-12 02:56:22 UTC
Were you able to test this Joe?
Comment 9 Joe Stroller 2005-01-12 05:56:44 UTC
Created attachment 48297 [details]
For some reason the patch wouldn't apply.

Oooops.... sorry about the delay - I had a long day yesterday.

The patch wouldn't apply cleanly, for some reason. Since it was very
apparent where it should go in /etc/init.d/net.lo I copied & pasted
it in manually & it seems fix the WEP problem - WEP always seems
to be applied when stopping & starting the interface.

There is a remaining problem, however, in that now eth1 is being
started even when it's not in the default runlevel (I'm not using any
other runlevels).

I don't configure my interfaces from the kernel command-line, so I'm
not clear on what's going on there - when I used to have a Linux laptop
I had separate "work" and "home" runlevels which were called by grub
at boottime.

However it seems to me that - in my case, anyway - it would'nt be
necessary to we remove all addresses from the interface before
configuring it if the interface didn't already have an address!
In my case the interface is sourcing the config for eth1, even when
that interface isn't supposed to be starting!!

Smiley for the day - confused:	      :-/



Broadcast message from root (pts/0) (Wed Jan 12 14:47:44 2005):

The system is going down for reboot NOW!
logout
Connection to durex closed.
919 ~ $ ssh durex 
Last login: Wed Jan 12 14:46:55 2005 from silva.stroller.uk.eu.org
stroller@durex ~ $ ifconfig 
eth0	  Link encap:Ethernet  HWaddr 00:04:75:DE:6F:78  
	  inet addr:192.168.1.44  Bcast:192.168.1.255  Mask:255.255.255.0
	  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
	  RX packets:44 errors:0 dropped:0 overruns:0 frame:0
	  TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
	  collisions:0 txqueuelen:1000 
	  RX bytes:6083 (5.9 Kb)  TX bytes:5411 (5.2 Kb)
	  Interrupt:11 Base address:0xec00 

eth1	  Link encap:Ethernet  HWaddr 00:01:36:07:00:D7  
	  inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
	  UP BROADCAST RUNNING 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)
	  Interrupt:5 

lo	  Link encap:Local Loopback  
	  inet addr:127.0.0.1  Mask:255.0.0.0
	  UP LOOPBACK RUNNING  MTU:16436  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:0 
	  RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

stroller@durex ~ $ ls /etc/runlevels/default/
local  net.eth0  netmount  sshd
stroller@durex ~ $
Comment 10 Roy Marples (RETIRED) gentoo-dev 2005-01-31 00:02:20 UTC
Fixed by baselayout-1.11.9