# SWLC-54108 cardbus wireless adaptor, Solved hopefully

## lmcogs

Hi 

I am trying to follow instruction in this links http://www.david-web.co.uk/blog/?p=123 about installing drivers for a Safecom wireless lan cardbus card SWLC-54108.  I says to put some firmware files into 'wherever hotplug keeps it's firmware' in his case 'Kubuntu' it was /lib/hotplug/firmware.  

I can't find this folder.  I am running kernel 2.6.13.  Can you tell me where this folder is in gentoo?  Or maybe give me instructions as how to get this card going.

lmcogsLast edited by lmcogs on Thu Jan 05, 2006 12:56 am; edited 1 time in total

----------

## bLaXe

For my wireless card, using the ipw2200 driver, the firmware appears to be in the /lib/firmware directory.

The acx100 driver is in portage. Are you using this ebuild?

----------

## lmcogs

Hi blaXe

Thanks for reply.  Not sure which worked but I get the following below.  I created /lib/firmware and cp the files which David-Web blog (above links) suggested.  The red light is on the pcmcia card.  So I need to set up network.  Any ideas how to do this?

PCI: Enabling device 0000:02:00.0 (0000 -> 0002)

ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 5 (level, low) -> IRQ

5

PCI: Setting latency timer of device 0000:02:00.0 to 64

acx: found ACX111-based wireless network card at 0000:02:00.0, irq:5, phymem1:0x

2E020000, phymem2:0x2E000000, mem1:0xecd58000, mem1_size:8192, mem2:0xece80000,

mem2_size:131072

initial debug setting is 0x000A

using IRQ 5

acx: no firmware image was provided. Check your hotplug scripts

acx: no firmware image was provided. Check your hotplug scripts

acx: reset_dev() FAILED

ACPI: PCI interrupt for device 0000:02:00.0 disabled

acx_pci: probe of 0000:02:00.0 failed with error -5

PCI: Enabling device 0000:02:00.0 (0000 -> 0002)

ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 5 (level, low) -> IRQ

5

PCI: Setting latency timer of device 0000:02:00.0 to 64

acx: found ACX111-based wireless network card at 0000:02:00.0, irq:5, phymem1:0x

2E020000, phymem2:0x2E000000, mem1:0xecd58000, mem1_size:8192, mem2:0xece80000,

mem2_size:131072

initial debug setting is 0x000A

using IRQ 5

not using auto increment for firmware loading

acx_write_fw (main/combined):0

acx_validate_fw (main/combined):0

acx: net device wlan0, driver compiled against wireless extensions 18 and Linux

2.6.13-gentoo-r5

initializing max packet templates

set up acx111 queue memory configuration (queue configs + descriptors)

dump queue head (from card):

len: 24

tx_memory_block_address: 19560

rx_memory_block_address: 14360

rx1_queue address: 12754

tx1_queue address: 12DD4

get_mask 0x00004182, set_mask 0x00000000

don't know how to get sensitivity for radio type 0x16

got sensitivity value 0

got antenna value 0x4A

got regulatory domain 0x30

get_mask 0x00000000, set_mask 0x00000000 - after update

new ratevector: 82 84 0B 0C 12 16 18 24 2C 30 48 60 6C

max lock hold time 846136 CPU ticks from helper.c:3092 to helper.c:3255

setting RXconfig to 2000:0000

acx: form factor 0x01 ((mini-)PCI / CardBus), radio type 0x16 (Radia), EEPROM ve                                            rsion 0x05, uploaded firmware 'Rev 1.2.1.34' (0x03010101)

creating /proc entry driver/acx_wlan0

creating /proc entry driver/acx_wlan0_diag

creating /proc entry driver/acx_wlan0_eeprom

creating /proc entry driver/acx_wlan0_phy

acx_pci module v0.2.4 loaded successfully

lmcogs

----------

## bLaXe

There is an excellent chapter on wireless networking in networking guide that UberLord has written. I found it very useful when configuring my wireless card.

Alternatively, there is a wireless configuration howto on gentoo-wiki.com.

That should get you started...

----------

## lmcogs

Hi bLaXe

Thanks I am reading both the sites you gave me but I am kind of stuck.  First of I am not sure if wpa_supplicant supports this driver or do I go for wireless tools.  I think I need a little bit more information, with more explanation.  I have tried the wpa_supplicant method and got as far a wpa_supplicant.con but I don't know what to put in it.  Then I also don't know what to do after that.

lmcogs

----------

## bLaXe

It does not appear that wpa_supplicant supports the acx100 driver (shame), so it looks like you will need to use the 'wireless-tools' method.

You will need to know some information about the access point you want to connect to:

The ESSID - usually a short string, eg "3com-wifi"

The WEP key that the access point is using (if you are using WEP). (If want to connect to an access point using WPA you will need to use wpa_supplicant. You might be able to get your card to work using ndiswrapper/wpa_supplicant.)

Make sure you have wireless-tools installed

```
emerge -av wireless-tools
```

Make sure you have modprobed any modules that your wireless card needs (if you are using modules).

You can check that your wireless card is working ok by running (where 'eth1' is you wireless interface):

```
iwconfig eth1
```

Or you can just run 'iwconfig' with no interface if you are not sure what your wireless interface is called.

You can then see if you can 'see' the access point(s) by running

```
iwlist eth1 scan
```

Hopefully by now you at least know that the wireless interface is working ok. The wireless-tools section of the networking guide should be able to help you get it all setup from there.

----------

## lmcogs

Hi bLaXe

I am really torturing you but all the information is so confusing.  Here's the latest

When I plug in the cardbus

Dmesg gives

acx100: It looks like you've been coaxed into buying a wireless network card

acx100: that uses the mysterious ACX100/ACX111 chip from Texas Instruments.

acx100: You should better have bought e.g. a PRISM(R) chipset based card,

acx100: since that would mean REAL vendor Linux support.

acx100: Given this info, it's evident that this driver is still EXPERIMENTAL,

acx100: thus your mileage may vary. Reading README file and/or Craig's HOWTO is

recommended, visit http://acx100.sf.net in case of further questions/discussion.

acx100: Warning: compiled to use 16bit I/O access only (compatibility mode). Set

 Makefile ACX_IO_WIDTH=32 to use slightly problematic 32bit mode

Running on a little-endian CPU

acx_init_module: dev_info is: TI acx_pci

acx_init_module: TI acx_pci.o: Ver 0.2.0pre8 driver initialized, waiting for car

ds to probe...

PCI: Enabling device 0000:02:00.0 (0000 -> 0002)

ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 5 (level, low) -> IRQ

5

PCI: Setting latency timer of device 0000:02:00.0 to 64

acx_probe_pci: WARNING: ACX111 support is quite experimental!

Found ACX111-based wireless network card at 0000:02:00.0, irq:5, phymem1:0x2e020

000, phymem2:0x2e000000, mem1:0xeccf8000, mem1_size:8192, mem2:0xecdc0000, mem2_

size:131072

initial debug setting is 0x001b

acx_select_io_register_set: using ACX111 io resource addresses (size: 56)

hw_unavailable = 1

acx_probe_pci: TI acx_pci: Using IRQ 5

reset hw_unavailable++

acx_reset_mac: enable soft reset...

acx_reset_mac: disable soft reset and go to init mode...

Requesting firmware image 'TIACX111.BIN'

not using auto increment for firmware loading

input: PC Speaker

acx_write_fw: firmware written

acx_write_fw (firmware): 0, acx_validate_fw: 0

acx_reset_dev: boot up eCPU and wait for complete...

Floppy drive(s): fd0 is 1.44M

FDC 0 is a National Semiconductor PC87306

acx_reset_dev: Received signal that card is ready to be configured  :Smile:  (the eCPU

has woken up)

acx_reset_dev: Clean up cmd mailbox access area

reset hw_unavailable--

acx100: allocated net device wlan0, driver compiled against wireless extensions

v18 and Linux 2.6.13-gentoo-r5

******************************************

************* acx_init_mac_1 *************

******************************************

==> Get the mailbox pointers from the scratch pad registers

CmdMailboxOffset = 1dd00

InfoMailboxOffset = 1de88

<== Get the mailbox pointers from the scratch pad registers

CommandParameters = [ 0xecdddd04 ]

InfoParameters = [ 0xecddde8c ]

Requesting firmware image 'RADIO16.BIN'

No firmware image was provided. Check your hotplug scripts

Reading firmware image '/lib/firmware/RADIO16.BIN'

ERROR 2 trying to open firmware image file 'RADIO16.BIN': file not found - make

sure this EXACT filename is in eXaCtLy this directory!

WARNING: no suitable radio module (RADIO16.BIN) found to load. No problem in cas

e of a combined firmware, FATAL when using a separated firmware (base firmware /

 radio image).

acx111_init_packet_templates: Init max packet templates

acx111_create_dma_regions: set up acx111 queue memory configuration (queue confi

gs + descriptors)

dump queue head (from card):

len: 24

tx_memory_block_address: 187E0

rx_memory_block_address: 11EE0

rx1_queue address: 102D4

tx1_queue address: 10954

get_mask 0x00004182, set_mask 0x00000000

Don't know how to get sensitivity for radio type 0x16, please try to add that!

Got sensitivity value 0

Got antenna value 0x4A

Got regulatory domain 0x30

get_mask 0x00000000, set_mask 0x00000000 - after update

new ratevector: 82 84 0b 0c 12 16 18 24 2c 30 48 60 6c

setting RXconfig to 2000:0000

Beacon length:69

hw_unavailable--

acx100: form factor 0x01 ((mini-)PCI / CardBus), radio type 0x16 (Radia), EEPROM

 version 0x05. Uploaded firmware 'Rev 1.2.1.34' (0x03010101).

creating /proc entry driver/acx_wlan0

creating /proc entry driver/acx_wlan0_diag

creating /proc entry driver/acx_wlan0_eeprom

creating /proc entry driver/acx_wlan0_phy

acx_probe_pci: TI acx_pci.o: Ver 0.2.0pre8 loaded successfully

iwconfig gives

lo        no wireless extensions.

eth0      no wireless extensions.

eth1      no wireless extensions.

wlan0     IEEE 802.11b+/g+  ESSID:"STAFC7609"  Nickname:"acx100 v0.2.0pre8"

          Mode:Auto  Channel:1  Access Point: 00:00:00:00:00:00

          Bit Rate=54 Mb/s   Tx-Power=15 dBm   Sensitivity=1/3

          Retry min limit:7   RTS thr:off

          Encryption key:off

          Power Management:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

iwlist wlan0 scan

wlan0     Interface doesn't support scanning : Resource temporarily unavailable

My /etc/conf.d/net file is 

modules=("iwconfig")

key_ESSID="s:SWART2-54125 key enc open"

channel_wlan0="11"

config_ESSID=("dhcp")

dhcp_ESSID="nodns"

Lastly here's the relevant loaded modules 

lsmod

acx_pci               152324  0

firmware_class         11904  1 acx_pci

However, there are no lights on the card, nothing seems to be happering.  I wonder what the iwlist output means and I am not at all sure about the network setup.  The info is pretty confusing.  I also am wondering if there is some kind of mix up since I was dabbling with ndiswrapper before with the driver from Safecom and also the acx1000 ebuild which can be emerged from Gentoo.

The one that concerns the output above is following http://www.david-web.co.uk/blog/?p=123  who has said  that he got this card going.  However no replies from that site.

lmcogs

----------

## bLaXe

Looking at the first few lines of the dmesg output you posted it seems that acx100 driver is not one of the best (being called 'experimental' doesn't fill me with confidence). You might have more success using ndiswrapper.

However,

I can see from the output of 'iwconfig' that you posted that the ESSID of your local access point is "STAFC7609".

In your /etc/conf.d/net file you appear to have misunderstood how to specify the configuration.

This line

```
key_ESSID="s:SWART2-54125 key enc open"
```

is wrong. You need to replace 'ESSID' with the actual ESSID of the access point that you are trying to connect to.

eg:

```
key_STAFC7609="s:SWART2-54125 key enc open"
```

(assuming "STAFC7609" is the name of the access point...)

You will also need to change the other lines to reflect this:

```

config_STAFC7609=("dhcp")

dhcp_STAFC7609="nodns"

```

(are you sure you want to disable DNS from DHCP?)

With those changes you might be able to bring up the interface:

```
/etc/init.d/net.wlan0 start
```

(I should probably point out that I don't use wireless-tools myself (I use wpa_supplicant) so I'm a bit out of depth here...  :Smile:  )

----------

## lmcogs

Hi bLaXe

Skip that last bit re net file, I really didn't know what it's all about.  Having read a little bit more I seem to understand about the essid, key etc.  The router doesn't have a key at the moment and the SSID according to the status of the router at present is SWART2-54125 so this is the /etc/conf.d/net file now.

modules=( "!iwconfig" )

SWART2-54125_wlan0="any"

mode_wlan0="managed"

channel_wlan0="11"

Is this any better?  Also how do I start it now, I don't have /etc/init.d/net.wlan0 file.  

lmcogs

----------

## bLaXe

 *lmcogs wrote:*   

> Is this any better?

 

Getting there  :Smile: 

I think the wireless part of your /etc/conf.d/net wants to look something like this:

```

# use the 'iwconfig' module (note that I have removed the '!' that you had)

modules=( "iwconfig" )

# this line is useless and can be deleted

# SWART2-54125_wlan0="any"

# this is the default, but there is no harm in leaving it in

mode_wlan0="managed"

# make sure this is the channel your access point is on

channel_wlan0="11" 

# prefer your access point over any others you might be able to 'see'

preferred_aps=( "SWART2-54125" )

```

To start the interface you need to create the relevant symlink first (just as you would for any other network interface). As root do:

```
ln -s /etc/init.d/net.lo /etc/init.d/net.wlan0
```

Then you should be able to do (as root again):

```
/etc/init.d/net.wlan0 start
```

----------

## lmcogs

Hi bLaXe

Near but yet so far.  

I deleted all drivers from previous trials, tried ndiswrapper but that froze the system.  I then followed the thread in https://forums.gentoo.org/viewtopic-t-202476-highlight-chaosite.html for loading the drivers and firmware, which went very well without problems ( one thing the site warned was about the SMP locking with this driver and to turn it off.  Don't know what this is).  

Then I did as you said.  The card red light is on but can't get the access point.

Here latest 

 # /etc/init.d/net.wlan0 start

 * Caching service dependencies ...

/etc/conf.d/net: line 8: SWART2-54125=any: command not found

/etc/conf.d/net: line 8: SWART2-54125=any: command not found

/etc/conf.d/net: line 8: SWART2-54125=any: command not found              [ ok ]

/etc/conf.d/net: line 8: SWART2-54125=any: command not found

 * Starting wlan0

 *   Configuring wireless network for wlan0

 *     no access points found

 *   Couldn't find any access points on wlan0

 *   Failed to configure wireless for wlan0                               [ !! ]

laptop acx100 # iwlist wlan0 scan

wlan0     Scan completed :

          Cell 01 - Address: 00:30:54:41:28:AA

                    ESSID:"SWART2-54125"

                    Protocol:IEEE 802.11b

                    Mode:Managed

                    Frequency:2.462 GHz (Channel 11)

                    Quality:0/100  Signal level:-29 dBm  Noise level:-256 dBm

                    Encryption key:off

                    Bit Rate:1 Mb/s

                    Bit Rate:2 Mb/s

                    Bit Rate:5.5 Mb/s

                    Bit Rate:11 Mb/s

                    Bit Rate:22 Mb/s

                    Bit Rate:6 Mb/s

                    Bit Rate:9 Mb/s

                    Bit Rate:12 Mb/s

                    Bit Rate:18 Mb/s

                    Bit Rate:24 Mb/s

                    Bit Rate:36 Mb/s

                    Bit Rate:48 Mb/s

                    Bit Rate:54 Mb/s

                    Extra:bcn_int=200

                    Extra:atim=0

                    (Unknown Wireless Token 0x8C05)

laptop acx100 # iwconfig wlan0

wlan0     IEEE 802.11g  ESSID:off/any

          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:00:00:00:00:00

          Bit Rate:54 Mb/s   Tx-Power:10 dBm   Sensitivity=0/3

          RTS thr:4096 B   Fragment thr:4096 B

          Encryption key:off

          Power Management:off

          Link Quality:100  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

/etc/conf.d/net

modules=( "iwconfig" )

SWART2-54125="any" (I see this is wrong, will change it!)

mode_wlan0="managed"

channel_wlan0="11"

preferred_aps=("SWART2-54125")

Wonder has this anything to do with it?

cardctl status

no pcmcia driver in /proc/devices

lmcogs

----------

## bLaXe

First, I just had a look at the ACX100/ACX111 website and it has you card listed as working on the '0.2.0pre8pf40' version of the driver. This can only be a good thing  :Smile: 

Second, 'SMP' stands for Symmetric Multi-Processing. You only need this if you are running a multi processor system. You can disable this in the kernel.

```
Processor type and features ---->

    [ ] Symmetric multi-processing support
```

It is strange that the startup script doesn't find the access point, as it appears in the iwlist output. You might want to try manually selecting the access point:

```
iwconfig wlan0 essid SWART2-54125

iwconfig wlan0
```

The second time you run 'iwconfig' you should be able to see if the card has be asscociated with the access point. If you have, you should be able to configure the interface as normal (do: 'dhcpcd wlan0' for dhcp config).

As for you worry about there being no pcmcia driver - I no experience of pcmcia, so I really have no idea... I wouldn't worry too much though, since the card seems to be working.

----------

## lmcogs

Hi bLaXe

I think I have had enough for now anyway.  I tried the 2.6.14 kernel but the driver wouldn't compile and I got errors emerging acx100.  Went back to 2.6.13 and I emerged acx100 with use flag "pcmcia" and that went ok, loaded the modules.  This is what I got running dmesg

laptop ~ # dmesg | grep acx

acx100: It looks like you've been coaxed into buying a wireless network card

acx100: that uses the mysterious ACX100/ACX111 chip from Texas Instruments.

acx100: You should better have bought e.g. a PRISM(R) chipset based card,

acx100: since that would mean REAL vendor Linux support.

acx100: Given this info, it's evident that this driver is still EXPERIMENTAL,

acx100: thus your mileage may vary. Reading README file and/or Craig's HOWTO is

recommended, visit http://acx100.sf.net in case of further questions/discussion.

acx100: Warning: compiled to use 16bit I/O access only (compatibility mode). Set Makefile ACX_IO_WIDTH=32 to use slightly problematic 32bit mode

acx_init_module: dev_info is: TI acx_pci

acx_init_module: TI acx_pci.o: Ver 0.2.0pre8 driver initialized, waiting for cards to probe...

acx_probe_pci: WARNING: ACX111 support is quite experimental!

acx_select_io_register_set: using ACX111 io resource addresses (size: 56)

acx_probe_pci: TI acx_pci: Using IRQ 5

acx_reset_mac: enable soft reset...

acx_reset_mac: disable soft reset and go to init mode...

acx_write_fw: firmware written

acx_write_fw (firmware): 0, acx_validate_fw: 0

acx_reset_dev: boot up eCPU and wait for complete...

acx_reset_dev: Received signal that card is ready to be configured  :Smile:  (the eCPU has woken up)

acx_reset_dev: Clean up cmd mailbox access area

acx100: allocated net device wlan0, driver compiled against wireless extensions v18 and Linux 2.6.13-gentoo-r5

************* acx_init_mac_1 *************

acx111_init_packet_templates: Init max packet templates

acx111_create_dma_regions: set up acx111 queue memory configuration (queue configs + descriptors)

acx100: form factor 0x01 ((mini-)PCI / CardBus), radio type 0x16 (Radia), EEPROM version 0x05. Uploaded firmware 'Rev 0.1.0.11' (0x03010101).

creating /proc entry driver/acx_wlan0

creating /proc entry driver/acx_wlan0_diag

creating /proc entry driver/acx_wlan0_eeprom

creating /proc entry driver/acx_wlan0_phy

acx_probe_pci: TI acx_pci.o: Ver 0.2.0pre8 loaded successfully

acx_cmd_join_bssid rates_basic 0003, rates_supported 1fff

<acx_cmd_join_bssid> BSS_Type = 255

<acx_cmd_join_bssid> JoinBSSID MAC:00:00:00:00:00:00

acx_set_status: Setting status = 0 (STOPPED)

acx_set_status: Setting status = 1 (SCANNING)

<acx_set_timer> Elapse = 2500000

acx_complete_dot11_scan: no matching station found in range yet

acx_set_status: Setting status = 1 (SCANNING)

<acx_set_timer> Elapse = 2500000

acx_cmd_join_bssid rates_basic 0027, rates_supported 1fff

<acx_cmd_join_bssid> BSS_Type = 255

<acx_cmd_join_bssid> JoinBSSID MAC:00:00:00:00:00:00

acx_set_status: Setting status = 0 (STOPPED)

acx_set_status: Setting status = 0 (STOPPED)

acx_cmd_join_bssid rates_basic 0027, rates_supported 1fff

<acx_cmd_join_bssid> BSS_Type = 255

<acx_cmd_join_bssid> JoinBSSID MAC:00:00:00:00:00:00

acx_set_status: Setting status = 0 (STOPPED)

acx_set_status: Setting status = 0 (STOPPED)

And this 

dmesg |grep ACX

acx100: that uses the mysterious ACX100/ACX111 chip from Texas Instruments.

acx100: Warning: compiled to use 16bit I/O access only (compatibility mode). Set Makefile ACX_IO_WIDTH=32 to use slightly problematic 32bit mode

acx_probe_pci: WARNING: ACX111 support is quite experimental!

Found ACX111-based wireless network card at 0000:02:00.0, irq:5, phymem1:0x30020000, phymem2:0x30000000, mem1:0xecda8000, mem1_size:8192, mem2:0xece80000, mem2_size:131072

acx_select_io_register_set: using ACX111 io resource addresses (size: 56)

Requesting firmware image 'TIACX111.BIN'

ACX100 f/w ver >= 1.9.3.e or ACX111 --> using s/w timer

ACX111 doesn't support ED!

ACX111 doesn't support CCA!

ACX100 f/w ver >= 1.9.3.e or ACX111 --> using s/w timer

ACX111 doesn't support ED!

ACX111 doesn't support CCA!

And this

iwconfig wlan0 essid SWART2-54125 channel 11 mode managed

laptop ~ # iwconfig wlan0

wlan0     IEEE 802.11b+/g+  ESSID:"SWART2-54125"  Nickname:"acx100 v0.2.0pre8"

          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00

          Bit Rate:54 Mb/s   Tx-Power=15 dBm   Sensitivity=1/3

          Retry min limit:7   RTS thr:off

          Encryption key:off

          Power Management:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

And finally I tried

 iwlist wlan0 scan

wlan0     Interface doesn't support scanning : Resource temporarily unavailable

So I still can't get the access point and as far as I can see there are alot of warning messages and experimental statements.

Thanks for all your help.  I might try again some other time, maybe try another distro.

lmcogs

----------

## lmcogs

Hi blaxe et all

I am back again, just to say I have got some success with the acx111 driver with this card.  I followed this http://www.david-web.co.uk/blog/?p=123, installing the driver and firmware as david mentions.  First removed all old drivers.  I put the firmware in /lib/firmware/ and /usr/lib/hotplug/firmwar/ because I wasn't sure where to put it.  Installed the card and ran dmesg which told me the driver loaded successfully.  

Then ran the command iwconfig wlan0 essid SWART2-54125 channel 11 mode managed followed by

dhcpcd wlan0 and this did it.

However when I first did the above dhcpcd wlan0 it could not find the Access Point so I booted windows and after while got the card working there.  Rebooted gentoo and ran dhcpcd again and low and behold the card is working.  I am at the moment emerging a few applications.  

Hopefully this will continue.

----------

