-   Linux - Wireless Networking (
-   -   did anybody get a smc 2602w v3 to run yet? (

braindancer 03-24-2004 05:31 PM

did anybody get a smc 2602w v3 to run yet?
i cant find a driver for it.

www dot smc-europe dot com/english/support/driver_manual/wirel/download/2602W_V.3/SMC_2602v.3.jpg
this is a 2.7mb picture of the card.

00:0b.0 RF controller AdvancedMicrosystems [amd] unknown device 2003 rev 4

PCI:00:0b:0 chip 1022, 2003 card 1039,0900 rev 90

pcibus 0x0000 cardnum 0x0b
function 0x00 vendor 0x1022 device 0x2003
AdvancedMicrosystems [amd] AM 1771 MBW [alchemy]

i tried the madwifi cvs drivers from today and those from two days ago.
wlan.o and ath_hal load fine, ath_pci doesnt, device not found.

i tried the linux-ng-wlan drivers,both an old version and bleeding edge they too produce device not found,
which is not too surprising as the card seemingly has an atheros chipset and not a prism one.
regards, braindancer

braindancer 03-25-2004 09:41 AM

is there really noone that has used this card?
please, i need to know which drivers work with this card.

nikke 04-05-2004 07:20 AM

installing the SMC2602Wv3 on Linux

Depending on your Linux distribution installing the drivers for the SMC 2602W v3 can be quit simple.

You can find the driver source code from either here:

http://emota DOT com DOT br/wireless/

or still here:

http://hoke DOT czweb DOT org/smc2602_source_linux_ST6.0.tgz

Once you have untarred the package there is a good readme.txt that explains how to compile and install the driver.

Basically this will be a simple install if you are running a 2.2.x or 2.4.y kernel version. At least on a Mandrake 10.0 Community I didn't get it compiled because of a too recent kernel version. Someone will still have to port it to 2.6.x kernels.

Notice that you have to have a link to your kernel source at /usr/src/linux, since the makefile tries to find appropriate header files there.

Hope this helps.

braindancer 04-12-2004 06:09 PM

http://hoke DOT czweb DOT org/smc2602_source_linux_ST6.0.tgz <<this one didnt work for me, but i guess it was my fault.

http://emota DOT com DOT br/wireless/ <<well... i got as far as building
Khal.o Kres.o Kthread.o NautilusMain.o
Knet.o Kserial.o Ktrace.o

the modules. what to do from there?
sadly the howto is spanish. even babelfishDOTaltavistaDOTcom gives up.

Já não was enough to bagunça,
this one is my favorite:rolleyes:

if anyone could please tell me what this howto Really says...:scratch:
i should have done this weeks ago, and this is how my employer looks now: :mad:

nikke 04-13-2004 01:28 AM

In the package you downloaded from the emota site, you have a README file. It contains the same information than the emota web site, except its in English and even better explained.

Basically what you'll do next is insert the Nautilus module (you have to have a kernel supporting modules), start a small web server that was also compiled with the module, configure the wlan card using a web browser and voila. The thing works.

Almost. The driver forgets its configuration once it is restarted, so every time you load the driver you'll have to reconfigure it. I wrote some scripts that use Expect and the Nshell (also compiled with the driver) located in the Applications directory.

I have some problems with the card when I want to load it at boot time. If I have the card loaded before starting X (gdm), I can't log to the workstation (or the logging hangs). This has to be related to some weird Redhat configuration, where some initialisation script try to find some new hardware or something. This is really annoying! I'm sorry now I didn't install Debian in the first place.

braindancer 04-13-2004 10:16 AM

wanna laugh?
i just noticed the doc folder :rolleyes:

but i can't
insmod ./Nautilus.o
because it didnt bild one... all i got were those mentioned above.
also if i look at the readme.txt in the doc folder, it seems to differ from what i guess the spanish
readme told me.
for example the spanish one starts like this:
have the kernel source linked to
... e ...
but i can only guess that (notice, my favourite sentence is in this section :rolleyes:

then comes the driver compile:
# tar -xvjf Am1771.tar.bz2
# cd Am1771/Linux
# bash
# source x86_setup.script
# make set_platf_x86 set_pci_on set_release
# make
(spanish text that might tell me what i need to do before i)
# cd ../obj/x86
(more supposedly helpful spanish text)

# insmod ./nautilus.o
and thats it, i dont have a nautilus.o

now the english one starts with:

cd nautilus/
patch -p3 < compile_6.0.diff
cd Linux/
source mips_setup.script
make set_platf_au1 set_pci_on set_release (<= i guess you have to change set_platf_au1 to something else)
cd ../MacCore?
cd ../Linux?
make depend
make (this ends with an error)
make driver

:scratch: i followed the spanish one and my compile didnt end with an error.
it cleanly compiled. but the wrong module...
well, ill just redo it and follow the english manual for now.
thx for the help tho:)

i use a sourcebased distro :D
:jawa: :jawa:

ralf790 04-14-2004 08:22 AM

i have compiled the module and tried to insert it.
The only reply i got, was segmentation fault.

now i have the following:

www7:~# lsmod
Module Size Used by Tainted: P
Nautilus 253104 1 (initializing)
www7:~# dmesg | tail -n 25
NAUTILUS ------------------------------------------------
NAUTILUS Build Name : AMD - Nautilus Linux driver
NAUTILUS Build Number : 0000
NAUTILUS Build Time : 08/29/2003 00:00:00
NAUTILUS Build User : customer
NAUTILUS Build Comment :
NAUTILUS Build Architecture : x86
NAUTILUS Build Kernel Version: 2.4.18-4GB
NAUTILUS Calculated CPU speed: 300682868 Hz
NAUTILUS ------------------------------------------------
invalid operand: 0000
CPU: 0
EIP: 0010:[<cc86bbeb>] Not tainted
EFLAGS: 00010202
eax: 00000000 ebx: 00000000 ecx: 00000003 edx: 0fff01f5
esi: 00000000 edi: ca2f3a09 ebp: c9757f10 esp: c9757f0c
ds: 0018 es: 0018 ss: 0018
Process insmod (pid: 542, stackpage=c9757000)
Stack: cc86a000 c9757f28 cc86a313 cc86a000 00000000 ca2f3a09 0000d1ef ffffffea
c0116ebd c9756000 4001e9d8 bfffcfdc bfffcf9c 0003ca3c c95d8000 00000060
c95da000 00000060 00000008 ca2f3a00 cc815000 00000060 c0498900 cc86a060
Call Trace: [<cc86a313>] [<c0116ebd>] [<cc86a060>] [<c0108637>]

Code: 0f 45 d8 89 d8 8b 5d fc 89 ec 5d c3 89 f6 8d bc 27 00 00 00

I have debian woody with 2.4.25 in /usr/src/linux...

braindancer 04-14-2004 11:31 AM

did you forget the mknod command?
this is only a guess, but it might be responsible for the segfault.

ralf790 04-14-2004 11:39 AM

no, i have not forgotten it, but the insmod is in install.txt before the mknod, so this shouldn't be the reason.

I have compiled everything on a second server, fresh installed debian woody, there happens something else during the insmod:
NAUTILUS ------------------------------------------------
NAUTILUS Build Name : AMD - Nautilus Linux driver
NAUTILUS Build Number : 0000
NAUTILUS Build Time : 08/29/2003 00:00:00
NAUTILUS Build User : customer
NAUTILUS Build Comment :
NAUTILUS Build Architecture : x86
NAUTILUS Build Kernel Version: 2.4.25
NAUTILUS Calculated CPU speed: 299565254 Hz
NAUTILUS ------------------------------------------------
PCI: Found IRQ 5 for device 00:0f.0
IRQ routing conflict for 00:0f.0, have irq 7, want irq 5
KNET Success registering device "eth1"
MACKERNEL <=== jsdlInit (failed: init function unnsuccessful)
NAUTILUS Could not add the device 0

It has now the correct kernel version and at the second insmod i have the same problem again.

Well, i will buy probably until 20:00 a new card and will use this at the pc of my girl-friend (=win2k) ;)

ralf790 04-14-2004 01:50 PM

now i have the same problem with nearly the same error message, but with a realtek card :(

ralf790 04-14-2004 03:37 PM

again news:
i have changed mainboard+cpu+ram (AMD-K6 300 MHz -> AMD Duron 700 MHz) and now i can load the Nautilus.o.
I can configure it with the httpserver and probably with Nshell.

But iwconfig says:
eth1 no wireless extensions.
dmesg says:
MACINTERFACE No msg in msg queue cd04e780.
(many many times)

It said before:
KNET Success registering device "eth1"

Can anyone help me?


stevie-c 04-26-2004 09:19 AM

the driver is not supported by the wireless tools so it's normal that iwconfig would say that.

Try starting the ./HttpServer command that is included with the driver. This will start a webserver like :
./HttpServer version:
$Revision: 0.3 $
$Date: 2003/08/01 09:08:03 $
$Author: flehmann $

TCP/IP port: 10080


Point you browser to localhost:10080 and configure your card.

you can then use ifconfig to set or dhcp to get an ip adress.

dhcp with Slackware if the card is eth1

ifconfig eth1 up
dhcpcd -t 10 -d eth1

stevie-c 05-10-2004 02:03 PM

expect script
Hey Nikke,

Would you mind posting the script you use with Nshell and the expect command?

Thanks in advance.

Exirion 05-19-2004 07:33 AM

System freezing
I managed to compile the drivers using gcc 2.95.4 and 3.2, on a system running 2.4.20, 2.4.21 and 2.4.26. In all cases the same problem: the system freezes completely once I try to join a network or try to configure the card using 'ifconfig eth1 <blabla>'. Any clue?

I get so sick and tired of this card already. It works fine in Windows, but Linux support seems crappy. Any help is highly appreciated :)

nikke 05-19-2004 03:44 PM


sorry for not having answered earlier I have been busy with work. Here is how I configure the network card using an Expect script:


# simple script that calls the Nautilus network driver configuration
# shell and configures the driver.

# script returns >1 on failure and 0 on success

set timeout 10

spawn Nshell
expect {
timeout {set ERROR 1
exit $ERROR}
"SUCCESS" {send "\r"}}
expect "nsh> " {send "MLME MLME_GET.request(dot11FragmentationThreshold)\r"}
expect "SUCCESS" {send "MLME MLME_GET.request(dot11RTSThreshold)\r"}
expect "SUCCESS" {send "MLME MLME_GET.request(dot11StationID)\r"}
expect "SUCCESS" {send "MLME MLME_RESET.request(xx:xx:xx:xx:xx:xx, TRUE)\r"}
expect "SUCCESS" {send "MLME MLME_JOIN.request((blah blah blah, \[chanels\]), X, Y, \[more chanels\])\r"}
# if connection succeeds authenticate else quit
expect {
"SUCCESS" {send "MLME MLME_AUTHENTICATE.request(xx:xx:xx:xx:xx:xx, stuff...)\r"
expect "SUCCESS" {send "MLME MLME_ASSOCIATE.request(xx:xx:xx:xx:xx:xx, some more stuff)\r"}
expect "SUCCESS" {send "quit\r"}}
send "quit\n"
exit $ERROR}

# everything went fine
exit 0

I guess you get the idea of how scripting Expect. I found some good examples on the net too. To get the values that you need, you have to log what the Httpserver does. Like ./HttpServer > config.log

Now edit away all the unnecessary stuff and voila!

I still had to figth to get it nicely work at bootup. RH network configuration is full of various scripts!

All times are GMT -5. The time now is 01:57 PM.