General TC > General TC Talk

Introduction, plus: my ACX wireless card is online!

(1/3) > >>

MikeLockmoore:
Hello!  I go by 'Mike Lockmoore'.  I develop embedded Linux professionally (currently using Fedora 7 as my development host).  I use Puppy Linux a lot at home, but I wanted to try out Tiny Core.  I've frugally installed TC 1.3rc1 on my ~5 year-old Dell P4 laptop.  I need wireless for this laptop to be useful, so I've managed to build the open-source driver for my TI ACX111 chipset-based Linsys W54Gv2 PCCard wireless adapter.  I'm posting from this setup using Opera.   :)  But it was not easy!

I first tried the NDISWrapper_full extension and the Windows .INF for my wireless adapter, but that did not work.  I was not surprised, I could not get the NDISWrapper working very well in Puppy Linux either.

The latest versions of Puppy Linux include the acx driver module, so I thought I should be able to build and load it in TC.  Here's roughly how I did it.

I loaded the following extensions:
* Wireless kernel modules (noticed the driver for acx was not included)
* Wireless_tools
* Linux headers
* GCC
* CompileTC (to get make and some other tools useful in building software)

I downloaded the acx driver source "acx-20080210.tar.bz2" from http://acx100.sourceforge.net/ and unpacked it.

I ran the make file to build the acx.ko kernal module file.

I created a /lib/firmware folder and added it to my .filetool.lst file

I copied the acx.ko module there (I'm sure there's a more appropriate place) and also the wireless chipset firmware (FwRad16.fw in the Windows device driver installation), renamed to 'tiacx111c16' as expected by the kernel module. 

With much experimentation, I came up with the following startup commands (which will be different for your access point or public access points), which I put in a script file 'wireless_start.sh':

--- Code: ---#!/bin/sh
# commands to associate with wireless access point
sudo insmod /lib/firmware/acx.ko
sudo ifconfig wlan0 up
sleep 1
sudo iwconfig wlan0 essid "{{MY ESSID}}"
sudo iwconfig wlan0 key restricted
sudo iwconfig wlan0 key "{{MY WEP KEY}}"
sleep 1
sudo udhcpc -i wlan0
sleep 1
--- End code ---

This script was placed in my /opt folder.  The script has been added to my .filetool.lst.
The script is now invoked by my /opt/bootlocal.sh script. EDIT: hmmm, after reboot, my wireless_start.sh script is not automatically successful, but if I run it in a terminal, it complains that the acx module already exists, but then proceeds to associate with the access point sucessfully.  Maybe I need longer sleep periods to let things stabalize?

There's probably a few things I could have done easier or better, but it seems to be working well so far, and I can surf wirelessly in TC like I wanted!  Maybe my compiled acx.ko can be added to the wireless extensions?
--
Mike Lockmore

roberts:
Try adding full path to iwconfig command when run from /opt/bootlocal.sh

jpeters:
If I recall, when using wireless both from dsl and tc, I have to 'reconnect'  even after a suspend.
No need to reinstall the module, of course, just the iwconfig info and the udhcpc command (in dsl, pump -i).   

MikeLockmoore:
Robert:  That did it!  I now see that you have told others to do the same thing.  Here is my wireless_start.sh script now:


--- Code: ---#!/bin/sh
# commands to associate with wireless access point
sudo insmod /lib/firmware/acx.ko
sudo /sbin/ifconfig wlan0 up
sudo /usr/local/sbin/iwconfig wlan0 essid "{{MY ESSID}}" key restricted "{{ MY WEP KEY }}"
sleep 3
sudo /sbin/udhcpc -i wlan0

--- End code ---

Robert, note that the iwconfig statements were combined into one, which is also recommended by you, correct?

Thanks! 
--
Mike Lockmoore

giac_fab:
Hi

I know this topic is very old.

I'm trying to compile the same module for microcore 4.0.1

I get the following errors :
 
tc@box:/usr/src/acx-20080210$ make -C /lib/modules/`uname -r`/build M=`pwd`
make: Entering directory `/usr/local/src/linux-headers-3.0.3-tinycore'
  CC [M]  /usr/src/acx-20080210/wlan.o
In file included from /usr/src/acx-20080210/acx.h:2:0,
                 from /usr/src/acx-20080210/wlan.c:49:
/usr/src/acx-20080210/wlan_compat.h:224:14: error: conflicting types for 'irqreturn_t'
include/linux/irqreturn.h:16:24: note: previous declaration of 'irqreturn_t' was here
In file included from /usr/src/acx-20080210/acx.h:6:0,
                 from /usr/src/acx-20080210/wlan.c:49:
/usr/src/acx-20080210/acx_func.h:109:0: warning: "printk_ratelimited" redefined [enabled by default]
include/linux/printk.h:244:0: note: this is the location of the previous definition
make[1]: *** [/usr/src/acx-20080210/wlan.o] Error 1
make: *** [_module_/usr/src/acx-20080210] Error 2
make: Leaving directory `/usr/local/src/linux-headers-3.0.3-tinycore'


Is kernel uncompatible ?
Should I waste my old card ???

Navigation

[0] Message Index

[#] Next page

Go to full version