Questions on libertas driver
Holger Schurig
hs4233 at mail.mn-solutions.de
Thu Jan 24 06:59:13 EST 2008
> It is possible that you send me a snapshot archive of your
> entire libertas directory ? I will be sure to have the same
> thing as you.
No, don't want this. You should update your git (e.g., when
you're a Debian Etch user, get git from backports.org). If you
can't or don't want to do this, then you can get all the files
via the web interface of git:
Go to
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git
Then at the end, below "heads", search the line "everything".
Click there to the right on "tree".
Navigate to drivers/net/wireless/libertas. All files have a "raw"
entry. If your browser doesn't give them to you in a text
format, you can use the link with wget, e.g.
$ wget -O
main.c "http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=blob_plain;f=drivers/net/wireless/libertas/main.c;hb=everything"
> The driver works but a last problem persists :
> During ftp transfer I have these errors :
>
> NETDEV WATCHDOG: eth0: transmit timed out
> libertas: tx watch dog timeout
> NETDEV WATCHDOG: eth0: transmit timed out
> libertas: tx watch dog timeout
> ...
>
> Something the file is successfully dowloaded anyway, but
> sometime not, and I need to restart the board to have network
> working again.
>
> Have you an idea of where this error can come from ?
I'd say you have a problem with hardware interaction. Get
$ git clone
git://git.infradead.org/users/schurig/libertas-tools.git tools
and compile lbsdebug. Then set some lbsdebug parameters, e.g.
enter, leave, host, cs/usb/sdio (depending on your hardware).
Maybe the slowdown of the driver because of excessive debug info
hides your problem, you have to experiment a while.
For example, in the CF part there are some timeout values that I
put there by "hindsight". They work for my hardware, but maybe
your hardware is slower.
I have a shell script "mrv_reload", which I use while programming
the driver. Maybe it's handy for you (or others) as well:
#!/bin/sh
set -x
# Bring interface down and give it time to settle while we
# install the newest compiled libertas driver. Then remove the
# modules and again give it time to settle.
ifdown eth1 2>/dev/null
ifconfig eth1 down 2>/dev/null
pccardctl eject
# The "make install" below installes the drivers to
# lib/modules/XXX/extra/, so remove any drivers from a regular
# install
rm -rf /lib/modules/`uname -r`/kernel/drivers/net/wireless/libertas
cd /usr/src/m8k/wireless-2.6
make modules_install SUBDIRS=drivers/net/wireless/libertas
rmmod usb8xxx 2>/dev/null
rmmod libertas_cs 2>/dev/null
rmmod libertas 2>/dev/null
# "mrv_reload XX" just removes all stuff
test -z "$1" || exit 0
sleep 0.2
# Start with a clean syslog file
rm -f /var/log/syslog
killall -HUP syslogd
# Load driver, set debug options, and the bring make
# the HW available
modprobe libertas
# Set wanted debugging, then "insert" the card:
#lbsdebug +enter +leave +scan >/dev/null
#lbsdebug +cs >/dev/null
lbsdebug +assoc +wext +scan >/dev/null
# Monitor syslog activity
tail -f /var/log/syslog # | grep libertas | \
cut -d: -f4- | cut -c2-
More information about the libertas-dev
mailing list