Author Topic: Cannot Get Socket Wifi Card To Work Under Oz 3.5.3  (Read 13715 times)

SteveConley

  • Newbie
  • *
  • Posts: 37
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #15 on: August 22, 2005, 04:50:20 pm »
Quote
Forgot I still had this topic open. The problem I was having ended up being I was trying to install/reinstall the orinoco-modules and orinoco-modules-cs packages through Qtopia Desktop. As soon as I installed them right from the device itself, things worked fine for me.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92876\"][{POST_SNAPBACK}][/a][/div]


Hmmm, that is not my issue because Hentges image comes with them installed.
(Poodle, TOPRAM 1GB SD, SimpleTech 1GB CF, Socket LP WLan CF)

SteveConley

  • Newbie
  • *
  • Posts: 37
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #16 on: August 24, 2005, 09:03:01 pm »
Quote
Quote
Forgot I still had this topic open. The problem I was having ended up being I was trying to install/reinstall the orinoco-modules and orinoco-modules-cs packages through Qtopia Desktop. As soon as I installed them right from the device itself, things worked fine for me.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92876\"][{POST_SNAPBACK}][/a][/div]


Hmmm, that is not my issue because Hentges image comes with them installed.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92894\"][{POST_SNAPBACK}][/a][/div]

BTW, I re-installed the Orinoco from the 3.5.3 feed (this seemed to be what you were saying) from the machine/Poodle directory and now I get a exception dump everytime I insert the card:

orinoco.c 0.13e (David Gibson <hermes@gibson.dropbear.id.au> and others)
spectrum_cs.c 0.4.2 (Pavel Roskin <proski@gnu.org> and others)
Unable to handle kernel paging request at virtual address 000e0031
pgd = c1090000
*pgd = a108f001, *pmd = a108f001, *pte = 00000000, *ppte = 00000000
Internal error: Oops: ffffffff
CPU: 0
pc : [<c39d67e0>]    lr : [<c00f2364>]    Tainted: P
sp : c1b4bc20  ip : 000e0001  fp : c1b4bc34
r10: c032ba60  r9 : 0001bf90  r8 : 00000000
r7 : 00000000  r6 : c1b4bcc4  r5 : c39e0a14  r4 : 000000bc
r3 : 00000000  r2 : c1210800  r1 : c01bff4a  r0 : c1210800
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 197F  Table: A1090000  DAC: 00000015  PID:  0
Process cardmgr (pid: 1261, stackpage=c1b4b000)
Stack: (0xc1b4bc10 to 0xc1b4c000)


So that was definitely downhill - I presume that Hentges ROM already had a new version.
(Poodle, TOPRAM 1GB SD, SimpleTech 1GB CF, Socket LP WLan CF)

SteveConley

  • Newbie
  • *
  • Posts: 37
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #17 on: August 25, 2005, 10:30:53 pm »
I think I found something ...

Hentges image, Poodle, Socket WLAN,

Noticed this error in logread and tried to execute directly from command line:

root@poodle:/etc/pcmcia# hostap_fw_load "eth0"
Host AP driver data for device eth0 not found in procfs.

Now if I can just find what procfs it is referring to ...

This is from logread:
....
Jul 29 14:20:39 poodle user.warn kernel: hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes. (rid=0xfc01, len=0xfc04)
Jul 29 14:20:39 poodle user.debug kernel: eth0: MAC address 14:1C:01:00:02:88
Jul 29 14:20:39 poodle user.warn kernel: hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc0e) does not match type (0x7200)
....
Jul 29 14:20:39 poodle user.warn kernel: hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc0d) does not match type (0x7264)
Jul 29 14:20:39 poodle user.warn kernel: hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0d, len=0xfc02)
Jul 29 14:20:39 poodle user.debug kernel: eth0: ready
Jul 29 14:20:39 poodle user.debug kernel: eth0: index 0x01: Vcc 3.3, irq 39, io 0xf6000000-0xf6000047
Jul 29 14:20:40 poodle daemon.info cardmgr[3528]: executing: './network start eth0 2>&1'
Jul 29 14:20:40 poodle daemon.info cardmgr[3528]: + Invalid command : reset
Jul 29 14:20:41 poodle daemon.info cardmgr[3528]: + Host AP driver data for device eth0 not found in procfs.
Jul 29 14:20:41 poodle daemon.info cardmgr[3528]: + run-parts: /etc/network/if-pre-up.d/hostap-fw-load exited with return code 1: Success
root@poodle:/media/cf/upgrades#


The other weird part is the mis-interpretation of the MAC address, it is really:
MAC 00 A0 F8 5E 14 1C

instead of the
MAC address 14:1C:01:00:02:88 that is shows above
(Poodle, TOPRAM 1GB SD, SimpleTech 1GB CF, Socket LP WLan CF)

robdura

  • Newbie
  • *
  • Posts: 2
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #18 on: September 07, 2005, 03:18:07 pm »
Quote
Quote
Then orinoco-modules is broken for poodle. This stuff happens when stuff is blindly compiled.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

I found out what was going wrong. I had to redownload the orinoco-modules and orinoco-modules-cs packages directly onto the zaurus somewhere and install right from the device (rather than from Qtopa Desktop).

As soon as I did that, and a little meddling I was able to get lights blinking on the card and got network access.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92573\"][{POST_SNAPBACK}][/a][/div]

I too am having the same problem, though I copied the orinoco-modules and orinoco-modules-cs install files to my CF card and ran ipkg from the console, it still says it's missing spectrum_cs from the modules/2.x../pcmcia directory. What did you do to resolve the missing file?

I downloaded the 0.13e-r3 files from [a href=\"http://openzaurus.org/official/unstable/3.5.3/feed/machine/poodle/]http://openzaurus.org/official/unstable/3....machine/poodle/[/url].

before installing them I got an unsupported card, afterwards, I got the proper card name, but was missing the spectrum_cs card

magickarle

  • Newbie
  • *
  • Posts: 32
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #19 on: September 09, 2005, 08:16:11 pm »
Quote
Quote
Then orinoco-modules is broken for poodle. This stuff happens when stuff is blindly compiled.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92553\"][{POST_SNAPBACK}][/a][/div]

I found out what was going wrong. I had to redownload the orinoco-modules and orinoco-modules-cs packages directly onto the zaurus somewhere and install right from the device (rather than from Qtopa Desktop).

As soon as I did that, and a little meddling I was able to get lights blinking on the card and got network access.

Only problem I'm having now is.... I am unable to use my modem's dns server on my zaurus. It doesn't resolve when I have it in there. My modem's ip is 192.168.0.1. I'm wondering if the usbd0 interface is interfering because it's ip is 192.168.129.201. So maybe it's trying to find it on the usbd0 interface instead of eth0?

If that is the case, how can I correct that?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92573\"][{POST_SNAPBACK}][/a][/div]

where did you get the orinocos module? I got the same issue here (no spectrum24_cs found)
Thanks
Poodle Zaurus 5600
Qtopia 2.1.2
Linux kernel V2.4.18-rmk7-pxe-embedix-3.5.3

Greg2

  • Hero Member
  • *****
  • Posts: 790
    • View Profile
    • http://
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #20 on: September 09, 2005, 08:32:14 pm »
Quote
where did you get the orinocos module?
In the 3.5.3 machine/poodle feed.

robdura

  • Newbie
  • *
  • Posts: 2
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #21 on: September 09, 2005, 09:03:28 pm »
Quote
Quote
where did you get the orinocos module?
In the 3.5.3 machine/poodle feed.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=95266\"][{POST_SNAPBACK}][/a][/div]

I downloaded and installed them...restarted pcmcia services, and while my card seems to be detected properly. there is the spectrum_cs.o file in net/ but it seem to expect it in pcmcia/ so I copied it over, and recived a kernel oops for my trouble

magickarle

  • Newbie
  • *
  • Posts: 32
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #22 on: September 11, 2005, 03:13:35 pm »
Quote
Quote
Quote
Then orinoco-modules is broken for poodle. This stuff happens when stuff is blindly compiled.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92553\"][{POST_SNAPBACK}][/a][/div]

I found out what was going wrong. I had to redownload the orinoco-modules and orinoco-modules-cs packages directly onto the zaurus somewhere and install right from the device (rather than from Qtopa Desktop).

[div align=\"right\"][a href=\"index.php?act=findpost&pid=92573\"][{POST_SNAPBACK}][/a][/div]

mscdex,

(BTW - is your moniker from the old CDROM driver?).

I am currently trying Hentges image. Seems to be working MUCH better on Poodle that the standard distribution although I still have occasional suspend issues.

Regarding the Socket WLAN card (which I used to use under the Sharp ROM):

I can get Mickey's Wellenreiter to run nicely with my socket card which is identical to yours - but as you found, if I even try to call the opie-network applet or execute any form of the iwconfig command, it totally locks up (with the card still flashing).

I get the following errors in dmsg:

orinoco.c 0.13e (David Gibson <hermes@gibson.dropbear.id.au> and others)
spectrum_cs.c 0.4.2 (Pavel Roskin <proski@gnu.org> and others)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfd20) does not match type (0x0021)
hermes @ IO 0xf6000000: Truncating LTV record from 129544 to 8 bytes. (rid=0xfd20, len=0xfd05)
eth0: Station identity 0002:0001:4920:2000
eth0: Looks like a Lucent/Agere firmware version 18720.8192
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc01) does not match type (0x5e00)
hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes. (rid=0xfc01, len=0xfc04)
eth0: MAC address 14:1C:01:00:20:49
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc0e) does not match type (0x7200)
hermes @ IO 0xf6000000: Truncating LTV record from 129058 to 34 bytes. (rid=0xfc0e, len=0xfc12)
eth0: Station name "m  I"
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfd10) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129538 to 2 bytes. (rid=0xfd10, len=0xfd02)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc06) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc06, len=0xfc00)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc83) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc83, len=0xfc02)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc25) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc25, len=0xfc00)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc0c) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0c, len=0xfc02)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfc0d) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0d, len=0xfc02)
eth0: ready
eth0: index 0x01: Vcc 3.3, irq 39, io 0xf6000000-0xf6000047

From everything I have seen here and elsewhere, it is apparently a bad orinoco module in the kernel.

Can you tell me exactly which one(s) you found that got you at least to the "ping" stage?

Thanks
[div align=\"right\"][a href=\"index.php?act=findpost&pid=92824\"][{POST_SNAPBACK}][/a][/div]

me too it locks-up when trying to access the network.
Did you get it work?

If it can help you:
When I do ifup wlan0, I get no device found.
When I do iwconfig, the hole thing freezes up.
Thanks
« Last Edit: September 12, 2005, 02:37:13 pm by magickarle »
Poodle Zaurus 5600
Qtopia 2.1.2
Linux kernel V2.4.18-rmk7-pxe-embedix-3.5.3

vektortgecko

  • Newbie
  • *
  • Posts: 2
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #23 on: September 13, 2005, 11:04:27 am »
Well, first of all, those truncated LTV records are consistent with what I'm seeing. I can also run wellenreiter without problem, but lock up the moment I touch the opie network app or iwconfig

my MAC is also scrambled, but some of the octets are recognizable. But all of our addresses here SHOULD be starting with 00, and they're not. So something is definitely borken™

Now let's have a look at this dmesg log, specifically the names of the RIDs that are failing

STAIdentity (I'm betting the firmware revision is NOT 18-thousand some odd number, just a hunch)
hermes @ IO 0xf6000000: Truncating LTV record from 129544 to 8 bytes. (rid=0xfd20, len=0xfd05)
eth0: Station identity 0002:0001:4920:2000
eth0: Looks like a Lucent/Agere firmware version 18720.8192
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key

cnfOwnMACAddress (note this is where the MAC is failing)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc01) does not match type (0x5e00)
hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes. (rid=0xfc01, len=0xfc04)
eth0: MAC address 14:1C:01:00:20:49

cnfOwnName (not really sure what this value should be, but chances are "m I" is going to end up being wrong. Quick google shows me this is probably trying to set "Prism I")
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0e) does not match type (0x7200)
hermes @ IO 0xf6000000: Truncating LTV record from 129058 to 34 bytes. (rid=0xfc0e, len=0xfc12)
eth0: Station name "m I"

ChannelList
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfd10) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129538 to 2 bytes. (rid=0xfd10, len=0xfd02)

cnfSystemScale
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc06) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc06, len=0xfc00)

RTSThreshold
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc83) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc83, len=0xfc02)

cnfDefaultKey1
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc25) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc25, len=0xfc00)

cnfMaxSleepDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0c) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0c, len=0xfc02)

cnfPMHoldoverDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0d) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0d, len=0xfc02)
eth0: ready
eth0: index 0x01: Vcc 3.3, irq 39, io 0xf6000000-0xf6000047

I also doubt each of these messages is supposed to be in excess of 128k.
I'm no kernel debugger here, but let's take a look at the MAC address record, for one:

hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes.

That makes sense. A MAC address should be 6 bytes long, not 129030. So it appears that we are doing the correct thing by truncating these records, but what we need to find out is why these records are over one hundred thousand bytes long to begin with.

Now, it appears that hermes.c defines the hermes_read_ltv function, which is called by orinoco.c - so that PROBABLY means that orinoco.c is doing Something Wrong™ or is being passed bad data from spectrum_cs.

It might be worthwhile checking what paramaters we can pass to these modules at load time, but gut feeling here is that these modules will need to be recompiled.

EDIT:
Looking at the following:
Quote
The other weird part is the mis-interpretation of the MAC address, it is really:
MAC 00 A0 F8 5E 14 1C

instead of the
MAC address 14:1C:01:00:02:88 that is shows above
We see that it seems to be getting the last 2 bytes of the MAC correct, but setting them as the FIRST two bytes in software (the rest is probably junk data).
Also noticing that in the cnfOwnName record, it's getting the last three bytes ("m I") correct. Presumably, it's getting the last four, since the fourth would be a null terminator - which is why we probably don't see any junk data after the "I".

I'm not really sure what this tells us about the driver itself, but it's possible that memory addresses are being shifted/transposed here, which may also have something to do with the length of these LTV records being horribly, horribly WRONG (ie. the variable that stores the record length isn't pointing at record length data).
« Last Edit: September 13, 2005, 12:37:08 pm by vektortgecko »

magickarle

  • Newbie
  • *
  • Posts: 32
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #24 on: September 15, 2005, 02:04:10 am »
Any news on this issue guys?
getting the same error unable to handle kernel paging request at virtual address on same memory address.
Poodle Zaurus 5600
Qtopia 2.1.2
Linux kernel V2.4.18-rmk7-pxe-embedix-3.5.3

vektortgecko

  • Newbie
  • *
  • Posts: 2
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #25 on: September 19, 2005, 07:52:57 pm »
Copied/Pasted from another topic about this (although that topic seems to be quite dead)

Well, first of all, those truncated LTV records are consistent with what I'm seeing. I can also run wellenreiter without problem, but lock up the moment I touch the opie network app or iwconfig

my MAC is also scrambled, but some of the octets are recognizable. But all of our addresses here SHOULD be starting with 00, and they're not. So something is definitely borken™

Now let's have a look at this dmesg log, specifically the names of the RIDs that are failing

STAIdentity (I'm betting the firmware revision is NOT 18-thousand some odd number, just a hunch)
hermes @ IO 0xf6000000: Truncating LTV record from 129544 to 8 bytes. (rid=0xfd20, len=0xfd05)
eth0: Station identity 0002:0001:4920:2000
eth0: Looks like a Lucent/Agere firmware version 18720.8192
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key

cnfOwnMACAddress (note this is where the MAC is failing)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc01) does not match type (0x5e00)
hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes. (rid=0xfc01, len=0xfc04)
eth0: MAC address 14:1C:01:00:20:49

cnfOwnName (not really sure what this value should be, but chances are "m I" is going to end up being wrong. Quick google shows me this is probably trying to set "Prism I")
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0e) does not match type (0x7200)
hermes @ IO 0xf6000000: Truncating LTV record from 129058 to 34 bytes. (rid=0xfc0e, len=0xfc12)
eth0: Station name "m I"

ChannelList
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfd10) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129538 to 2 bytes. (rid=0xfd10, len=0xfd02)

cnfSystemScale
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc06) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc06, len=0xfc00)

RTSThreshold
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc83) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc83, len=0xfc02)

cnfDefaultKey1
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc25) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc25, len=0xfc00)

cnfMaxSleepDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0c) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0c, len=0xfc02)

cnfPMHoldoverDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0d) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0d, len=0xfc02)
eth0: ready
eth0: index 0x01: Vcc 3.3, irq 39, io 0xf6000000-0xf6000047

I also doubt each of these messages is supposed to be in excess of 128k.
I'm no kernel debugger here, but let's take a look at the MAC address record, for one:

hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes.

That makes sense. A MAC address should be 6 bytes long, not 129030. So it appears that we are doing the correct thing by truncating these records, but what we need to find out is why these records are over one hundred thousand bytes long to begin with.

Now, it appears that hermes.c defines the hermes_read_ltv function, which is called by orinoco.c - so that PROBABLY means that orinoco.c is doing Something Wrong™ or is being passed bad data from spectrum_cs.

It might be worthwhile checking what paramaters we can pass to these modules at load time, but gut feeling here is that these modules will need to be recompiled.

EDIT:
Looking at the following:
Quote
The other weird part is the mis-interpretation of the MAC address, it is really:
MAC 00 A0 F8 5E 14 1C

instead of the
MAC address 14:1C:01:00:02:88 that is shows above
We see that it seems to be getting the last 2 bytes of the MAC correct, but setting them as the FIRST two bytes in software (the rest is probably junk data).
Also noticing that in the cnfOwnName record, it's getting the last three bytes ("m I") correct. Presumably, it's getting the last four, since the fourth would be a null terminator - which is why we probably don't see any junk data after the "I".

I'm not really sure what this tells us about the driver itself, but it's possible that memory addresses are being shifted/transposed here, which may also have something to do with the length of these LTV records being horribly, horribly WRONG (ie. the variable that stores the record length isn't pointing at record length data).

magickarle

  • Newbie
  • *
  • Posts: 32
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #26 on: September 19, 2005, 07:54:26 pm »
Quote
Copied/Pasted from another topic about this (although that topic seems to be quite dead)

Well, first of all, those truncated LTV records are consistent with what I'm seeing. I can also run wellenreiter without problem, but lock up the moment I touch the opie network app or iwconfig

my MAC is also scrambled, but some of the octets are recognizable. But all of our addresses here SHOULD be starting with 00, and they're not. So something is definitely borken™

Now let's have a look at this dmesg log, specifically the names of the RIDs that are failing

STAIdentity (I'm betting the firmware revision is NOT 18-thousand some odd number, just a hunch)
hermes @ IO 0xf6000000: Truncating LTV record from 129544 to 8 bytes. (rid=0xfd20, len=0xfd05)
eth0: Station identity 0002:0001:4920:2000
eth0: Looks like a Lucent/Agere firmware version 18720.8192
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key

cnfOwnMACAddress (note this is where the MAC is failing)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc01) does not match type (0x5e00)
hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes. (rid=0xfc01, len=0xfc04)
eth0: MAC address 14:1C:01:00:20:49

cnfOwnName (not really sure what this value should be, but chances are "m I" is going to end up being wrong. Quick google shows me this is probably trying to set "Prism I")
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0e) does not match type (0x7200)
hermes @ IO 0xf6000000: Truncating LTV record from 129058 to 34 bytes. (rid=0xfc0e, len=0xfc12)
eth0: Station name "m I"

ChannelList
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfd10) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129538 to 2 bytes. (rid=0xfd10, len=0xfd02)

cnfSystemScale
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc06) does not match type (0x72ff)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc06, len=0xfc00)

RTSThreshold
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc83) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc83, len=0xfc02)

cnfDefaultKey1
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc25) does not match type (0x722b)
hermes @ IO 0xf6000000: Truncating LTV record from 129022 to 2 bytes. (rid=0xfc25, len=0xfc00)

cnfMaxSleepDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0c) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0c, len=0xfc02)

cnfPMHoldoverDuration
hermes @ IO 0xf6000000: hermes_read_ltv(): rid (0xfc0d) does not match type (0x7264)
hermes @ IO 0xf6000000: Truncating LTV record from 129026 to 2 bytes. (rid=0xfc0d, len=0xfc02)
eth0: ready
eth0: index 0x01: Vcc 3.3, irq 39, io 0xf6000000-0xf6000047

I also doubt each of these messages is supposed to be in excess of 128k.
I'm no kernel debugger here, but let's take a look at the MAC address record, for one:

hermes @ IO 0xf6000000: Truncating LTV record from 129030 to 6 bytes.

That makes sense. A MAC address should be 6 bytes long, not 129030. So it appears that we are doing the correct thing by truncating these records, but what we need to find out is why these records are over one hundred thousand bytes long to begin with.

Now, it appears that hermes.c defines the hermes_read_ltv function, which is called by orinoco.c - so that PROBABLY means that orinoco.c is doing Something Wrong™ or is being passed bad data from spectrum_cs.

It might be worthwhile checking what paramaters we can pass to these modules at load time, but gut feeling here is that these modules will need to be recompiled.

EDIT:
Looking at the following:
Quote
The other weird part is the mis-interpretation of the MAC address, it is really:
MAC 00 A0 F8 5E 14 1C

instead of the
MAC address 14:1C:01:00:02:88 that is shows above
We see that it seems to be getting the last 2 bytes of the MAC correct, but setting them as the FIRST two bytes in software (the rest is probably junk data).
Also noticing that in the cnfOwnName record, it's getting the last three bytes ("m I") correct. Presumably, it's getting the last four, since the fourth would be a null terminator - which is why we probably don't see any junk data after the "I".

I'm not really sure what this tells us about the driver itself, but it's possible that memory addresses are being shifted/transposed here, which may also have something to do with the length of these LTV records being horribly, horribly WRONG (ie. the variable that stores the record length isn't pointing at record length data).
[div align=\"right\"][a href=\"index.php?act=findpost&pid=96335\"][{POST_SNAPBACK}][/a][/div]

Ya, I saw this post but it all sounds greek to me loll.
Poodle Zaurus 5600
Qtopia 2.1.2
Linux kernel V2.4.18-rmk7-pxe-embedix-3.5.3

SteveConley

  • Newbie
  • *
  • Posts: 37
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #27 on: September 25, 2005, 09:06:36 pm »
Sorry guys for the late reply ... but I have been on an extended journey out of the lower 48 and needed my Zaurus to work - so I loaded Watapon which worked great on my Poodle (SL5600 and Socket WLAN).

I will check back in on OZ eventually when I get a bit of time.
(Poodle, TOPRAM 1GB SD, SimpleTech 1GB CF, Socket LP WLan CF)

SteveConley

  • Newbie
  • *
  • Posts: 37
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #28 on: September 25, 2005, 09:08:42 pm »
Sorry guys for the late reply ... but I have been on an extended journey out of the lower 48 and needed my Zaurus to work - so I loaded Watapon which worked great on my Poodle (SL5600 and Socket WLAN).

I will check back in on OZ eventually when I get a bit of time.

Thanks vektortgecko, but that is the conclusion I was coming to - a byte pointer was somewhat off somewhere ...
(Poodle, TOPRAM 1GB SD, SimpleTech 1GB CF, Socket LP WLan CF)

rjenkins

  • Newbie
  • *
  • Posts: 10
    • View Profile
Cannot Get Socket Wifi Card To Work Under Oz 3.5.3
« Reply #29 on: December 09, 2005, 06:17:02 pm »
Hi,
I'm having exactly the same problem with my 5600 + Opie 3.5.4-RC
Has anyone found a solution to this yet?

I've spent many hours searching for info & trying various solution (but only just found this topic..)

The card I have is a Symbol Spectrum24 Wireless networker, LA-4137-1020-WW

This appears to match the entry in spectrum.conf
card "LA4100 Spectrum24 CF WLAN Card"
 manfid 0x026c, 0x0001
 bind "spectrum_cs"

The one thing I have noticed is that the dmesg output we are seeing is rather different from a working setup with one of these cards (taken from the end of this post re. the Sharp rom by russilwvong: https://www.oesf.org/forums/index.php?showtopic=14812 )

Good:
hermes.c: 7 Jun 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco.c 0.12 (David Gibson <hermes@gibson.dropbear.id.au> and others)
spectrum_cs.c 0.3.4
eth0: Station identity 0021:0002:0002:0001
eth0: Looks like a Symbol firmware version [F3.10-06] (parsing to 31006)
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key
eth0: MAC address 00:A0:F8:A0:C3:56
eth0: Station name "Prism  I"
eth0: ready
eth0: index 0x01: Vcc 3.3, irq 35, io 0xf6000000-0xf6000047

Bad (first few lines):
orinoco.c 0.13e (David Gibson <hermes@gibson.dropbear.id.au> and others)
spectrum_cs.c 0.4.2 (Pavel Roskin <proski@gnu.org> and others)
hermes @ IO 0xf6000000: hermes_read_ltv(): rid  (0xfd20) does not match type (0x0021)
hermes @ IO 0xf6000000: Truncating LTV record from 129544 to 8 bytes. (rid=0xfd20, len=0xfd05)
eth0: Station identity 0002:0001:33fb:33cb
eth0: Looks like a Lucent/Agere firmware v

The driver modules load in a different sequence & the card is mis-identified as Lucent/Agere rather than Symbol..
Any clues here?

Robert Jenkins.