# islsm - Intersil SoftMac Driver

## sonicbhoc

http://www.prism54.org/punbb/viewtopic.php?id=1557

This driver is needed for a card I have in Linux, if you get this when you run lspci:

```

02:00.0 Network controller: Intersil Corporation ISL3886 [Prism Javelin/Prism Xbow] (rev 01)

```

you'll need it too.

Unfortunately it has no ebuild, would anyone like to assist me in writing one?

It depends on make, gcc, kernel sources less than 2.6.18 (they're working on fixing that) and tla.

To build the driver, you must run:

```

tla register-archive jean-baptiste.note@m4x.org--libre http://jbnote.free.fr/\{archives\}/libre

tla get jean-baptiste.note@m4x.org--libre/prism54-project--mainline prism54-project

cd prism54-project

make tla-import

make load

```

Then it has to download the firmware for the cards available here:

http://jbnote.free.fr/prism54usb/index.html

Then it has to print a warning about how this driver and the prism54 drivers do not like each other.

How difficult would it be to set that up?Last edited by sonicbhoc on Thu Dec 07, 2006 3:48 pm; edited 1 time in total

----------

## Maxwell

Probably not that much! I'm gonna try to do it right away!!

But isn't it inside the kernel?

In case it isn't, i need to know a few things first: does it really work? I bought a SMC 2802w v2 for over a year and has been my favourite paperweight since then (SMC have already lost a few $1000 because of that wireless card and because of me   :Evil or Very Mad: 

What is the correct install procedure?

----------

## sonicbhoc

Alright, I tried it but it needs the crc32 module to be a module not built in, which is a pain for me because it depends on a lot of stuff.

Also, Prism54 is not the same as islsm. Prism54 is in the kernel, but islsm is not.

----------

## Maxwell

 *sonicbhoc wrote:*   

> Alright, I tried it but it needs the crc32 module to be a module not built in, which is a pain for me because it depends on a lot of stuff.
> 
> Also, Prism54 is not the same as islsm. Prism54 is in the kernel, but islsm is not.

 

I started searching for it yesterday. Only now i found the updated info! The prim54 site is very confusing  :Sad: 

BTW, do you know a place where exists something more kernel integrated? My kernel is static. Can't compile the module...

----------

## Maxwell

Did the project stopped? I subscribed the development mailing list but i haven't received an email for over a week!

Anyone knows the contact of any developer?

----------

## sonicbhoc

http://prism54.org/punbb/

You could try to contact them here.

I removed the word ebuild from the thread because I don't have time to make one.

If someone wants to move this to "Unsupported Software" feel free to.

----------

## ilm2

i made an ebuild, find it here https://bugs.gentoo.org/show_bug.cgi?id=142651

some notes:

- i'm no expert ebuilder, feel free to add yourself

- they moved from tla to git some time ago, git's sources depend now on softmac in the kernel (not madwifi anymore)

- i forgot the checks for kernel crc, but it isn't specially needed as module although the makefile warns for it

- you can choose the firmware by use flag, for every version one. may be better ways to do it...

- so it's repositry based, if there are are official releases, it won't be too hard to adapt the ebuild

- ebuild doesn't explain much about the state of the driver yet, you can add it if you want

state of driver (as in my experience):

works as in

- plaintext, wep, wpa (cmmp and tkip)

- no automatic datarate control yet (specification not yet known), you can specifiy

it manually by cat "0c 0c 0c 0c 0c 0c 0c 0c" > /sys/class/islsm/interface/datarate (0c = 54Mbps)

----------

## monophase

yeah, thank you

your ebuild works great   :Wink: 

i use islsm with a netgear wg511 v3 with wpa tkip in 11 mbit mode

but i can't set the data rate to 54 mbit

/sys/class/islsm/interface/datarate does not exist and write "0c 0c 0c 0c 0c 0c 0c 0c" to /sys/class/islsm/interface/datarateset does not take effect

----------

## ilm2

glad to hear the ebuild works for you, just upload a new one containing some very small fixes:

- it create symlinks now and checks for kernel version >= 2.6.17

 *Quote:*   

> /sys/class/islsm/interface/datarate does not exist and write "0c 0c 0c 0c 0c 0c 0c 0c" to /sys/class/islsm/interface/datarateset does not take effect

 

sorry i wasn't very clear, you actually have to replace 'interface' with a specific one,  :Smile: 

very likely it's 'islsm0', so '/sys/class/islsm/islsm0/datarateset' is the one you probably need

however, even that doesn't seem to work; i get no noticably speed difference and the wireless tools still report 11Mps here.

I also can set the rate with iwconfig eth1 rate 54M  , but alas this doesn't seem to work either here; maybe you have more luck. I'll see if i can contact the developers about that.

there are some more parameters you can play with,

from the README:

```
** Sysfs interface **

The driver exports a number of sysfs interfaces in

/sys/class/islsm/$(DEVICE)/

*** Read-write data ***

fw_name: firmware name. This may be easier to use this when you want to

use multiple firmwares. Set *before* upping the interface, changing it

while running does not reload the firmware (maybe it should).

rxfilter: everything is not understood, but doing echo "01" > rxfilter

is meant to filter out bad-FCS frames in monitor mode. Other values

should filter out packets, maybe according to their type. Input on this

is very welcome !

datarateset: containing an array of 8 values, contains the rate at which

the data packets are sent, 00 meaning 1 Mbps, 0c meaning 54Mbps. The

eight values are there for the automatic retry: each retry can use a

different rate value.

For instance :

echo "08 08 08 08 08 08 08 08" > rateset will send data @OFDM, 24Mbps

*** Read-only data ***

allocator: state of the driver allocator

eeprom: binary dump of the in-device eeprom contents (usuall 8K). This

is only available once the device has been booted.

```

----------

## monophase

sorry, i meant '/sys/class/islsm/islsm0/datarateset'. this was a copy and paste failure by me   :Wink: 

 *ilm2 wrote:*   

>  however, even that doesn't seem to work; i get no noticably speed difference and the wireless tools still report 11Mps here.
> 
> I also can set the rate with iwconfig eth1 rate 54M , but alas this doesn't seem to work either here; maybe you have more luck. I'll see if i can contact the developers about that. 
> 
> 

 

yeah, i forgot to set 'iwconfig eth1 rate 54M'. now it works.

thank you

 *ilm2 wrote:*   

> - it create symlinks now and checks for kernel version >= 2.6.17 

 

i use kernel version 2.6.18-suspend2 and islsm works fine

----------

## monophase

since i use islsm, the traffic LED of my wireless card does not want to work.

i thought, it would be broken but a test with ndiswrapper shows, that the LED is ok.

----------

## ilm2

i read somewhere on the forums that the led doesn't work on every device.

on some devices it works (here for example, Phillips CPWUA054) and on other it doesn't (setting it on other devices may be different, and the driver doesn't have the info for every one i believe)

so you don't need to worry  :Smile:  or maybe you it need for something ?  :Wink: 

----------

## sonicbhoc

Holy crap, I'm a veteran. Didn't even notice.  :Laughing: 

anyway...

```

got 0ebdc57a32e37bf6b72caca70b32d24086cf08dc

error: Empty reply from server (curl_result = 52, http_code = 0, sha1 = 0ebdc57a32e37bf6b72caca70b32d24086cf08dc)

Getting pack list for http://islsm.org/~jb/islsm/islsm.git/

Getting alternates list for http://islsm.org/~jb/islsm/islsm.git/

error: Unable to find 39c9694f61863972b4a7161a3080fd5ef1f9bdbe under http://islsm.org/~jb/islsm/islsm.git/

Cannot obtain needed blob 39c9694f61863972b4a7161a3080fd5ef1f9bdbe

while processing commit 654167b54391fdd5cb3f8a97e4c340de356b7cce.

!!! ERROR: net-wireless/islsm-9999 failed.

Call stack:

  ebuild.sh, line 1576:   Called dyn_unpack

  ebuild.sh, line 716:   Called src_unpack

  ebuild.sh, line 1269:   Called git_src_unpack

  git.eclass, line 283:   Called git_fetch

  git.eclass, line 193:   Called die

!!! git.eclass: can't fetch from http://islsm.org/~jb/islsm/islsm.git.

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! This ebuild is from an overlay: '/usr/local/portage'

```

So.... what's up with this? do I just have to wait for someone to fix that upstream or is something screwy on my box?

----------

## ilm2

hmmm oops  :Smile:  well I can still checkout,

try first try checking out manually like:

'git clone http://islsm.org/~jb/islsm/islsm.git/ softmac'

if it doesn't work -> something wrong with your box/git install (try cleaning /usr/portage/distfiles/git-src)

if it works -> something with my ebuild  :Smile:  maybe it's the git.eclass but as it starts checking out OK,  I assume

it's more of a git problem than the ebuild

on an other note:

spoke to some devs on the mailing list, and JB says he won't be able to work much on it anymore at least for the next 6 months.

I discovered that there's an prism usb/pci driver in development (p54) and is included in the experimental kernel.

- It uses a new (experimental) wireless stack (dscape), meant to be a lot better than the old one (of course  :Smile:  )

- says p54 is still buggy compared to islsm (supports no encryption in particular, although the dev hopes to implement it soon...)

- dscape already supports automatic datarate though

haven't tested p54 yet, will do it soon

----------

## sonicbhoc

What kernel are you talking about? 2.6.19, 2.6.20 or a newer version?

EDIT: And I get the same problem outside of portage as well. I'm going to re-emerge tla and hope that fixes it.

----------

## ilm2

 *Quote:*   

> What kernel are you talking about? 2.6.19, 2.6.20 or a newer version?

 

well, i was talking about the wireless-dev tree, which states 2.6.19 r6 but i don't think it is in a official one (at least not in gentoo's latest 2.6.19-r2[/quote]

so it's not really relevant at this time

 *Quote:*   

> EDIT: And I get the same problem outside of portage as well. I'm going to re-emerge tla and hope that fixes it.

 

ow, i hope that was a typo. The repositry has been moved to git (not tla), and so the ebuild fetches the sources from there.

so 'emerge git' is what you have to do  :Smile: 

----------

## sonicbhoc

yeah, typo. Right.   :Laughing: 

Anyway, I'm re-emerging git now (I never did get a chance to do any system administration on my own computer yesterday, too busy hooking my cousin up with a brand-new Gentoo installation  :Cool:  )

----------

## sonicbhoc

Still getting those errors. 

```

got 3026b3363a53104c3547cabe5d5b09a35ba70533

error: Empty reply from server (curl_result = 52, http_code = 0, sha1 = 83add69b4ca7cc62854101c4d491013abbd99efa)

Getting pack list for http://islsm.org/~jb/islsm/islsm.git//

Getting alternates list for http://islsm.org/~jb/islsm/islsm.git//

error: Unable to find 83add69b4ca7cc62854101c4d491013abbd99efa under http://islsm.org/~jb/islsm/islsm.git//

Cannot obtain needed blob 83add69b4ca7cc62854101c4d491013abbd99efa

while processing commit 130829c10320539c84cc86c242b2f28f7b62abed.

```

It's really annoying. <_< It could be that my school's server sucks... or is filtering something. I dunno. I do know it's not working... and I could really use those drivers so I can give my parents my orinoco card...

----------

## ilm2

I did a quick google on the error, seems some people have the problems if using git over http.

just updated the ebuild:

- patch for new kernels (2.6.19)

- fixed symlink

- changed protocol from http to git, don't know if it gives any differences for you

----------

## sonicbhoc

```

 * git clone start -->

 *    repository: git://islsm.org/~jb/islsm/islsm.git

fatal: unable to connect a socket (Connection refused)

fetch-pack from 'git://islsm.org/~jb/islsm/islsm.git' failed.

!!! ERROR: net-wireless/islsm-9999 failed.

Call stack:

  ebuild.sh, line 1576:   Called dyn_unpack

  ebuild.sh, line 716:   Called src_unpack

  islsm-9999.ebuild, line 95:   Called git_src_unpack

  git.eclass, line 283:   Called git_fetch

  git.eclass, line 193:   Called die

!!! git.eclass: can't fetch from git://islsm.org/~jb/islsm/islsm.git.

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! This ebuild is from an overlay: '/usr/local/portage'

```

Dude, this is really annoying <_<

It's official, Intersil hates me.   :Evil or Very Mad: 

----------

## ilm2

sorry can't help you any further, i was pondering to make a snapshot of the repositry

at this time (may help you  :Smile:  ) 

or just let the ebuild check out a specific revision,

but as the code isn't very likely to change (much) in the coming months and there is support coming in-kernel i think the ebuild is good enough now for those who which to try islsm.

i quite easily compiled the (new) p54 driver btw, just can't use it as i'm still using 2.6.18  :Very Happy: 

----------

## monophase

i tried to change the mac address of my islsm device.

```
ifconfig eth1 hw ether XX:XX:XX:XX:XX:XX 
```

do it for me.

but when i set

```
ifconfig eth1 up
```

the mac address will change back to the original mac address.

is it possible to maintain the changed mac address after setting the device up?

----------

## sonicbhoc

 *ilm2 wrote:*   

> 
> 
> i quite easily compiled the (new) p54 driver btw, just can't use it as i'm still using 2.6.18 

 

I'll upgrade to 2.6.19 if I've got to... I usually run unstable software anyway  :Laughing: 

So, where can I get the p54 driver? it's obvious I won't be getting islsm working any time soon...

----------

## ilm2

 *Quote:*   

> So, where can I get the p54 driver? it's obvious I won't be getting islsm working any time soon...

 

don't think p54 is in the kernel yet, it certainly isn't in 2.6.19 rev2 (gentoo-sources)

furthermore, the p54 only supports plain text encryptions atm

i think islsm is the best choice for you, only if there was a snapshot available upstream.

@monophase: why would you want to change your mac address ? don't know if it works with ifconfig but it certainly works with macchanger (with normal drivers that is) :p

http://www.gentoo-portage.com/net-analyzer/macchanger

----------

## monophase

 *ilm2 wrote:*   

> @monophase: why would you want to change your mac address ? don't know if it works with ifconfig but it certainly works with macchanger (with normal drivers that is) :p
> 
> http://www.gentoo-portage.com/net-analyzer/macchanger

 

no, it doesn't work. there's the same problem. after setting the device up, the mac will be changed back. i think it's a general softmac problem.

i need it for working in a mac filtered network where only one mac per user is registered. i work with different computers, but it's no problem, i use a other card.

----------

## sonicbhoc

 *ilm2 wrote:*   

>  *Quote:*   So, where can I get the p54 driver? it's obvious I won't be getting islsm working any time soon... 
> 
> don't think p54 is in the kernel yet, it certainly isn't in 2.6.19 rev2 (gentoo-sources)
> 
> 

 

You said you got it to compile, where'd you get it from?

 *ilm2 wrote:*   

> 
> 
> furthermore, the p54 only supports plain text encryptions atm
> 
> i think islsm is the best choice for you, only if there was a snapshot available upstream.
> ...

 

I don't have encryption on my wireless network, so why do I care?  :Razz: 

----------

## ilm2

 *Quote:*   

> You said you got it to compile, where'd you get it from? 

 

git  clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-dev.git

 :Very Happy:   :Very Happy: 

if you happen to get it downloaded, it's a full kernel (2.6.19-r6 here) so just treat it normally (copy to /usr/src/aname/   make a symlink etc...)

----------

## sonicbhoc

The git clone thing worked great on my mom's PC <_<

I hope I can get it to compile the driver though...

EDIT: It worked perfectly! Yes! Now to just configure the card.

EDIT 2: But now the stupid computer keeps loading prism54 instead of islsm, and /etc/hotplug/blacklist does nothing!

----------

## sonicbhoc

I got the git-clone thing working on my computer now. But, instead of islsm3, my wireless tools and things keep trying to use a non-existent eth4 device.

```

T21 ~ # iwlist scanning

eth0      Interface doesn't support scanning.

lo        Interface doesn't support scanning.

irlan0    Interface doesn't support scanning.

eth4      Interface doesn't support scanning : No such device

```

Yeah. Not good. But the card is detected and the device node /dev/islsm3 is made, so the driver is working. How do I get my system to use the right device node?

----------

## ilm2

that jump from eth0 to eth4 isn't quite normal imo,

do a ifconfig -a and see what it recognises, you may have multiple islsm/prism54 modules loaded

the network name (eg eth0 wlan0 etc) doesn't necessarily have to be the same name as the device, in almost all cases actually

islsm3 also makes me think you have more modules loaded than needed  :Smile: 

edit:

iwlist just iterates through all network devices, to specifiy settings for one of them check /etc/conf.d/net (or wireless)

----------

## pberndt

Did anyone find a way to make the 

```
0846:4240 NetGear, Inc. WG111 WiFi (v2)
```

 USB-stick (with prism54 chipset) work without using a kernel from a development branch?

I've got a x86_64 system, which means I can't use ndiswrapper (Tried it, doesn't work). I also tried to copy the driver from that git branch into the main kernel source, but it seems that some interfaces are incompatible between the two.

----------

## ilm2

use the 'old' islsm driver from the git repos (or the even older one from the tla repos  :Smile: 

howto for git:

http://prism54.org/punbb/viewtopic.php?id=1557

BUT a ebuild has been made which does all that for you:

https://bugs.gentoo.org/show_bug.cgi?id=142651

i hope it still works

----------

## pberndt

 *Quote:*   

> i hope it still works

 

Nope.

----------

## ilm2

updated ebuild with new patch for newer kenel (.21 or smth i believe)

perhaps it may now work.

if it does not, please give a bit more information  :Smile: 

----------

## pberndt

2.6.21 / x86_64

The ebuild works fine, I've been able to load the module. (Thank you for updating the ebuild)

But it does not work anyway. However, this is an upstream problem:

dmesg

```
usb 1-6: new high speed USB device using ehci_hcd and address 11

usb 1-6: configuration #1 chosen from 1 choice

islsm: allocating device

islsm: islsm_geo_init

islsm: 14 channels

islusb: No suitable configuration found, trying 3887 support

```

iwconfig

```
nijil islsm-9999 # iwconfig eth2 mode ad-hoc

Error for wireless request "Set Mode" (8B06) :

    SET failed on device eth2 ; No space left on device.

```

Sometimes the same command works. Same for iwlist scan.

When I was able to scan for other wlan's, the driver still refused to connect to them. (Without any message)

If there's any debugging output which might help let me know.

Weird.. I guess I should simply buy a (better) supported stick ^^

----------

## ilm2

np for the ebuild, unfortunately can't help you with this. my device worked flawless out-of-the-box

the thing is upstream islsm is no longer actively developed,

you can try the prisms forums www.prism54.org , see if they may help you

...or wait until the new dscape wireless stack (including the new p54 driver) is merged into the main kernel tree

p54 is based on islsm, but many things are cleaned up and new features (rate control) should work with it)

if you can't wait, i suggest trying to clone the wireless-dev git repositry and build that kernel together with the p54 driver. 

ow, also quite imprtant. islsm is preconfigured with some device known to be compatibility. if you device isn't in it the list (but uses the right chipset) you can add it yourself and see if it works then. according to dmesg "islusb: No suitable configuration found, trying 3887 support" this may be the case, or the wrong firmware is used

----------

## sethleon

Hi,

I recently installed a 64bit Gentoo on a notebook,

by the way, Kernel: gentoo-sources-2.6.22-r1

No problems about all other hardware except wireless ...

Its a ISL3886 Chip, to be exactly  ... Gemtek mPCI WL-850 Wireless Chip.

I tried ndiswrapper (useless with 32bit windows drivers) and prism54, with nearly every firmware:

neither fullmac, softmac nor the extracted firmware of the windows driver works.

So I found islsm, which could be usefull ...

Trying to install it (in Portage-Overlay) resulted in errors concerning islsmstatistics

I found out, that CONFIG_NET_WIRELESS is no longer included in Kernel Version 2.6.22,

yet also CONFIG_WIRELES_EXT, so I have to contribute another patch for that:

```
--- islsm.orig/isl_sm.h   2007-07-24 17:25:22.000000000 +0000

+++ islsm/isl_sm.h   2007-07-24 17:26:44.000000000 +0000

@@ -146,9 +146,9 @@

 

 /*    struct timer_list       stats_update; */

    struct net_device_stats statistics;

-#ifdef CONFIG_NET_WIRELESS

+#ifdef CONFIG_WIRELESS_EXT

    struct iw_statistics    iwstatistics;

-#endif            /* CONFIG_NET_WIRELESS */

+#endif            /* CONFIG_WIRELESS_EXT in kernel 2.6.22 */

 

    /* device-specific state machine and callbacks

       We handle three types of devices :
```

Nevertheless there are unresolved symbols, which can be seen, when emerging is finished and especially in dmesg,

when modprobing islsm: islsm_iw_handler_def and pci_module_init (not seen when modprobe islsm)

So far I found a kernel option for the unresolved symbol crc_ccitt.

Do you know anything about that symbols, maybe kernel options?

Thanks in advance.

----------

## k1ll3r

you need to edit islpci_hotplug.c

change @ the function: prism54_module_init

the return value to: pci_register_driver(&islpci_driver);

after this last patch the source compiled =)

but when i try to load the islsm module i get:

```

islsm: Unknown symbol islsm_iw_handler_def

```

used kernel:  2.6.23-gentoo-r1

plz help

----------

