Use this page to discuss porting, installation, configuration, and use of the Linux PCMCIA package on non-x86 platforms. These might include PowerPC-based Apple Powerbooks; the DEC Multia and other Alpha-based platforms; the Amiga; and the ARM platform.

Since almost all PCMCIA development has happened on x86, most client drivers are poorly tested, if at all, on other platforms. Some may not be 64-bit-clean or big-endian-clean. The SUPPORTED.CARDS file attempts to identify which drivers are known to work on which platforms, however, this information is presently very sparse. Additions or corrections are welcome.

Messages Inline: 0 1

Question spinlock compile problem on ppc

Date: 1999, Nov 08
From: Michael Baer baerm

Hi,

I recently had a problem compiling pcmcia-cs-3.1.3, the following message describes it almost perfectly, I assume Tsuneya had a slightly different version of pcmcia-cs as my line numbers were slightly different. I'm using linuxppc (approx RH6) on a Wallstreet Powerbook. I maybe missing something completly obvious, but looking at the code, the structure socket_info_t defined in cs_internal.h is defined without the member 'spinlock_t lock' if USE_SPIN_LOCKS isn't defined (and it probably shouldn't be). It is then referenced in cs.c in several places where a variable of type socket_info_t is used to access 'lock'. whether or not USE_SPIN_LOCKS is defined (as far as I can tell). Compilalition then fails. This all seems internal to pcmcia-cs. I don't see how it is caused by the kernel spinlock header. Anyway, apologize for any boneheadness on my part in advance...

Mike Baer

>Hi all,

>Previously I posted the question below without getting any >answer
>on this list. I tried the same question in >comp.os.linux.portable
>and David Hinds, the author of pcmcia-cs, kindly pointed out >that
>the error message below is a bug in the kernel spinlock >header for
>ppc. According to him, the spin lock macros should not >reference
>the lock variable for non-SMP kernels. He also wrote that he >was
>surprised that this made it into the 2.2.13 final release.

>Can anyone point out how I can modify related headers to >avoid
>this spinlock problem to build pcmcia-cs under kernel 2.2.13?

>Regards,

> **
> In article <slrn81adei.8hc.twatabe@lydia.concorde.gr.jp> for
> comp.os.linux.portable, Tsuneya Watabe (twatabe@shore.net) > > wrote:

> I've just built kernel 2.2.13 from kernel.org which basically works fine
> on both PCI9500 and PB2400. However, trying to compile pcmcia-cs-3.1.2
> for PB2400 always results in failure like below:

> cc -fno-builtin -msoft-float -ffixed-r2  -MD -O3 -Wall
> -Wstrict-prototypes
> -pipe  -D__KERNEL__ -DMODULE -I../include -I/usr/src/linux/include -c
> cs.c
> cs.c: In function `parse_events':
> cs.c:646: structure has no member named `lock'
> cs.c: In function `deregister_client':
> cs.c:955: structure has no member named `lock'
> cs.c: In function `cs_request_irq':
> cs.c:1781: warning: unused variable `mask'
> cs.c:1780: warning: unused variable `try'
> cs.c: In function `eject_card':
> cs.c:2031: structure has no member named `lock'
> cs.c: In function `insert_card':
> cs.c:2053: structure has no member named `lock'
> make[1]: *** [cs.o] Error 1
 **

>Tsuneya Watab

Ok Untitled

Re: Question spinlock compile problem on ppc (Michael Baer)
Date: 1999, Nov 27
From: Tsuneya Watabe watabe

In linuxppc list, a few ideas to solve this problem were posted and 
the modification suggested by Dean Takemori as shown below worked 
fine with pcmcia-cs build under kernel 2.2.13. I hope David will consider 
this issue on the future release of pcmcia-cs.

In include/pcmcia/k_compat.h (from pcmcia-cs source):

change the lines below: 

from: 

#if defined(CONFIG_SMP) || (LINUX_VERSION_CODE > VERSION(2,3,6)) || 
  (defined(__ppc__) && (LINUX_VERSION_CODE > VERSION(2,2,12)))

to:

#if defined(CONFIG_SMP) || (LINUX_VERSION_CODE > VERSION(2,3,6)) || 
  (defined(__powerpc__) && (LINUX_VERSION_CODE > VERSION(2,2,12)))

Tsuneya Watabe (twatabe@shore.net)

Question Panic on card insert on ppc g3, 3.1.11 / 2.2.x

Date: 2000, Feb 21
From: Wim Lewis wiml

I'm getting a kernel panic when I insert a pcmcia card on my PowerBook G3 (Lombard). Is this a known problem?

It happens with pcmcia-cs 3.1.11 and kernel 2.2.15pre7 from linuxcare.com.au, as well as with 3.1.1 and 2.2.14 (from which I upgraded). The panic looks basically the same with either a Lucent Wavelan 802.11HR card or an old Megahertz 14.4kbps modem.

I apologize for not including actual ksymoops output; I can't paste into this web browser. The panic is due to a NULL dereference in pcmcia_core, invoked by cardmgr through an ioctl. The bottom few routines vary but tend to include parse_cftable_entry(), validate_cis(), add_interval(), read_cis_cache(), get_{first,next}_tuple(), etc. I can post the read ksymoops output if necessary.

By playing around and running insmod, cardctl, etc. by hand, I did get pcmcia-cs to initialize the Wavelan card twice, once as an "anonymous memory device" and once as a "Melco WLI-PCM-L11", but inserting the card into the slot after loading the modules & starting cardmgr invariably causes a panic.

None PCMCIA on PowerPC is problematic

Re: Question Panic on card insert on ppc g3, 3.1.11 / 2.2.x (Wim Lewis)
Date: 2000, Feb 22
From: David Hinds <dhinds@pcmcia.sourceforge.org>

PCMCIA setup on PowerBooks is sketchy, because I can't test it and get
very little feedback from users.

Only a subset of PCMCIA drivers have had any testing on PowerPC
systems.  The supported-cards list shows which drivers are reported to
work on PowerPC; I have not heard that the Wavelan driver works.  It
may be ok, or it may have big-endian/little-endian issues that need to
be sorted out.

/etc/pcmcia/config.opts also needs to be configured specially.  I
would try changing the default memory and IO port windows to something
like:

    include memory 0x80000000-0x80ffffff
    include port 0x100-0x1ff

(remove the 0xc0000-0xfffff memory window, and the other IO port
windows), and see if that works any better, at least for the modem
card.

-- Dave

Feedback PCMCIA on PowerPC

Re: None PCMCIA on PowerPC is problematic (David Hinds)
Date: 2000, Feb 23
From: Wim Lewis wiml

Ah! That works --- thanks. No more panics. (I'm a little confused about the `port' range, since ppc doesn't have a separate I/O space like intel --- maybe it's a PCI thing.)

Of course, there are other problems: the modem doesn't work because Mac serial ports are Zilog Z8530-based and the kernel doesn't seem to support having both z8530 and 8250/1655x based ports in the same system.

The wavelan doesn't produce any errors but isn't moving any packets either; I probably just don't have it configured right.

I think it would be handy to have a README.non-i86 in the distribution with reported problems, workarounds, etc. on non-Intel platfdorms. (In particular, setting the memory range, which is obvious in retrospect.) I could write up a brief section on powerbooks.

None Yes, some tips would be a good idea

Re: Feedback PCMCIA on PowerPC (Wim Lewis)
Date: 2000, Feb 23
From: David Hinds <dhinds@pcmcia.sourceforge.org>

I agree that there should be a section in the HOWTO about Powerbooks,
but since I have so little information, I have not been comfortable
with writing it.  I would welcome contributions.

-- Dave

Note WaveLAN on ppc

Re: Feedback PCMCIA on PowerPC (Wim Lewis)
Date: 2000, Feb 24
From: Wim Lewis wiml

There seem to be severe endianness problems with the WaveLAN driver (for example, all the MAC addresses and the ESSID, etc., are byteswapped). I found a link to a pahe which claims that someone has the WaveLAN working on their ppc, but the server's down right now...

Question WaveLAN on PPC url?

Re: Note WaveLAN on ppc (Wim Lewis)
Date: 2000, Mar 26
From: Peter pfolk

What patch is that you're referring to?

None 3C589C works fine with changed memory address (Apple pismo)

Re: None PCMCIA on PowerPC is problematic (David Hinds)
Date: 2000, May 25
From: Christoph Eyrich eyrich

Just to let others know:

Changing config.opts as proposed by David Hinds in

http://pcmcia.sourceforge.org/cgi-bin/HyperNews/get/pcmcia/ports/2/1.html

<quote> /etc/pcmcia/config.opts also needs to be configured specially. I would try changing the default memory and IO port windows to something like:

     include memory 0x80000000-0x80ffffff
     include port 0x100-0x1ff

(remove the 0xc0000-0xfffff memory window, and the other IO port windows), and see if that works any better, at least for the modem card. </quote>

gives a working ethernet. No more kernel crashes ... (so far)

(Apple PB G3-400 Pismo, 2.2.15, pcmcia-cs-3.1.8)

(Adaptec 1460 still crashes the kernel)

Christoph Eyrich

Question Problems compiling (DEC Multia)

Date: 2000, Feb 27
From: Chor Teik Joon joon

Hi,

I've been trying to compile pcmcia card services 3.1.11 on my Multia.

It's running Red Hat 6.0 (Alpha), kernel 2.2.5-22 and keeps getting stuck at :

../../debug-tools/pack_cis -o 3CCFEM556.dat 3CCFEM556.cis

Using 'top', I can see that the compiler is still running (taking 90%+ worth of CPU). I left it on overnight for more than 8 hours thinking it just needed a bit of time, but it's still stuck there.

Can anyone help?

JOON

None It's actually a bug in libc

Re: Question Problems compiling (DEC Multia) (Chor Teik Joon)
Date: 2000, Feb 28
From: David Hinds <dhinds@pcmcia.sourceforge.org>

My recollection is that this is a bug in a particular version of libc
for the alpha, but I'm afraid I don't remember much more than that.
If you upgrade your libraries, it should go away.

-- Dave

Sad "no valid ROM images found!" on 3.1.12 pcmcia-cs: How can I deal with it?

Date: 2000, Mar 10
From: Tsuneya Watabe watabe

Hi there,

First of all, I'd like to apologize for this lengthy message.

Currently I'm using a 10B-T/100B-TX cardbus card (Macsense, tulip_cb) with a 
2.2.15pre7 kernel on my PowerBook 2400c/180. The card works fine with 3.1.11 
pcmcia-cs. Recently I successfully built a 2.3.50 kernel with PCMCIA support off 
at the kernel level. Then I compiled 3.1.12 pcmcia-cs for this new devlopmenal 
kernel. When booting into this new system, I get the messages below:

 kernel: Linux PCMCIA Card Services 3.1.12
 kernel:   kernel build: 2.3.50 #7 Fri Mar 10 11:41:24 JST 2000
 kernel:   options:  [pci] [cardbus]
 kernel: Intel PCIC probe:
 kernel:   TI 1130 PCI-to-CardBus at slot 00:13, mem 0x80803000
 kernel:     host opts [0]: [pci only] [pci irq 22] [lat 32/176] [bus 1/2]
 kernel:     host opts [1]: [pci only] [pci irq 23] [lat 32/176] [bus 3/4]
 kernel:     No interrupts!!  polling interval = 1000 ms
 cardmgr[510]: starting, version is 3.1.12
 cardmgr[510]: watching 2 sockets
 kernel: cs: cb_alloc(bus 3): vendor 0xffff, device 0xffff
 kernel: cs: no valid ROM images found!
 cardmgr[510]: initializing socket 1
 cardmgr[510]: unsupported card in socket 1
 cardmgr[510]:   no product info available
 kernel: cs: cb_free(bus 3)
 kernel: cs: cb_alloc(bus 3): vendor 0xffff, device 0xffff
 kernel: cs: no valid ROM images found!
 cardmgr[510]: initializing socket 1
 cardmgr[510]: unsupported card in socket 1
 cardmgr[510]:   no product info available

However, the same card is well recognized under 2.2.15pre7 kernel and 3.1.11 
pcmcia-cs as shown below:

 cardmgr[1492]: starting, version is 3.1.11
 cardmgr[1492]: watching 2 sockets
 kernel: cs: cb_alloc(bus 2): vendor 0x1011, device 0x0019
 cardmgr[1492]: initializing socket 1
 cardmgr[1492]: socket 1: Macsense MPC-200 PCB Rev3.1 DTCKA25
 cardmgr[1492]: executing: 'insmod /lib/modules/2.2.15pre7/pcmcia/cb_enabler.o'
 cardmgr[1492]: executing: 'insmod /lib/modules/2.2.15pre7/pcmcia/tulip_cb.o'
 kernel: cs: cb_config(bus 2)
 kernel:   fn 0 bar 1: io 0x100-0x17f
 kernel:   fn 0 bar 2: mem 0x900c0000-0x900c03ff
 kernel:   fn 0 rom: mem 0x90080000-0x900bffff
 kernel: tulip_attach(bus 2, function 0)
 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov (modified by 
 danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford)
 kernel: eth0: Digital DS21143 Tulip rev 65 at 0x100, 00:A0:0C:90:4D:1D, IRQ 23.
 kernel: eth0:  EEPROM default media type Autosense.
 kernel: eth0:  Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2) block.
 cardmgr[1492]: executing: './network start eth0'
 kernel: eth0:  Index #1 - Media 10baseT-FD (#4) described by a 21142 Serial PHY (2) block.
 kernel: eth0:  Index #2 - Media 100baseTx (#3) described by a 21143 SYM PHY (4) block.
 kernel: eth0:  Index #3 - Media 100baseTx-FD (#5) described by a 21143 SYM PHY (4) block.

These log messages suggest that cs on 3.1.12 with 2.3.50 kernel appears to try to 
use a different bus (bus 3 instead of bus 2) and eventually can not allocate the correct 
addresses of vendor and device. I don't know whether or not this error is deriving from 
the kernel itself or from pcmcia-cs. Is there any workaround for it?

BTW, I experienced the same "no valid ROM images found!" problem when dealing 
with other new 2.2.15x kernels (pre9, pre10, pre11 and pre12).

Furthermore, here is another problem with using 3.1.12 pcmcia-cs under my working 
kernel (2.2.15pre7). With this combination, I get the wrong IRQ setting for my card:

 kernel:   fn 0 bar 1: io 0x100-0x17f
 kernel:   fn 0 bar 2: mem 0x900c0000-0x900c03ff
 kernel:   fn 0 rom: mem 0x90080000-0x900bffff
 kernel: tulip_attach(bus 2, function 0)
 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov (modified by 
 danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford)
 kernel: eth0: Digital DS21143 Tulip rev 65 at 0x100, 00:A0:0C:90:4D:1D, IRQ 199.
 [snip]
 cardmgr[625]: executing: './network start eth0'
 cardmgr[625]: + ioctl: Operation not supported
 cardmgr[625]: + SIOCSIFFLAGS: Resource temporarily unavailable
 cardmgr[625]: + SIOCSIFFLAGS: Resource temporarily unavailable
 cardmgr[625]: + SIOCADDRT: Network is down
 cardmgr[625]: + SIOCADDRT: Network is unreachable

Changing PCIC_OPTS for irq definition didn't work.  Any hints?

TIA

Tsuneya Watabe

None The irq thing is easy; I'm not sure about the bus problem

Re: Sad "no valid ROM images found!" on 3.1.12 pcmcia-cs: How can I deal with it? (Tsuneya Watabe)
Date: 2000, Mar 10
From: David Hinds <dhinds@pcmcia.sourceforge.org>

First, the interrupt problem: that one is my mistake.  I think this
should be fixed in the 10-Mar-00 beta on sourceforge.org in
/pcmcia/NEW.

In 2.2.*, the Cardbus drivers will generally use the PCI bus numbers
assigned by the BIOS, unless they are left unassigned.  I think the
2.3.* kernel may renumber PCI busses automatically.  That may be a
problem.

However, you say you have the same "no valid ROM images" problem with
2.2.15pre9 and later kernels, and that makes less sense to me.  Is it
possible that you tested these kernels after warm booting from 2.3.*,
and the 2.3.* bus settings might have survived the warm boot?  I would
carefully look at the bridge probe messages for each kernel after a
cold boot to see if there is a difference between the 2.2.15pre7 and
the later (broken) kernels.

-- Dave

Feedback Thank you for suggestions; beta solved IRQ problem and bus numbering was my fault.

Re: None The irq thing is easy; I'm not sure about the bus problem (David Hinds)
Date: 2000, Mar 12
From: Tsuneya Watabe watabe

David, thank you for your kind reply and my apologies for delay in 
response.

You wrote:

>First, the interrupt problem: that one is my mistake.  I think this
>should be fixed in the 10-Mar-00 beta on sourceforge.org in
>/pcmcia/NEW.

I confirmed this beta was working well with my 2.2.15pre7 kernel and 
10B-T/100B-TX cardbus card. Thank you.

>In 2.2.*, the Cardbus drivers will generally use the PCI bus numbers
>assigned by the BIOS, unless they are left unassigned.  I think the
>2.3.* kernel may renumber PCI busses automatically.  That may be a
>problem.

Thanks for this info. I've built the latest kernel (2.3.51) and got 
the same wrong numbering of busses:

 kernel: Linux PCMCIA Card Services 3.1.13
 kernel:   kernel build: 2.3.51 #11 Sun Mar 12 00:15:51 JST 2000
 [snip]
 kernel:   TI 1130 PCI-to-CardBus at slot 00:13, mem 0x80803000
 kernel:     host opts [0]: [pci only] [pci irq 22] [lat 32/176] [bus 1/2]
 kernel:     host opts [1]: [pci only] [pci irq 23] [lat 32/176] [bus 3/4]
 kernel:     PCI card interrupts, polling interval = 1000 ms
 cardmgr[506]: starting, version is 3.1.13
 [snip]
 kernel: cs: no valid ROM images found!

>However, you say you have the same "no valid ROM images" problem with
>2.2.15pre9 and later kernels, and that makes less sense to me.  Is it
>possible that you tested these kernels after warm booting from 2.3.*,
>and the 2.3.* bus settings might have survived the warm boot?  I would
>carefully look at the bridge probe messages for each kernel after a
>cold boot to see if there is a difference between the 2.2.15pre7 and
>the later (broken) kernels.

Woops, sorry. I found that this "no valid ROM images" problem with 
2.2.15pre* kernel is dependent on whether or not I used some patches 
applied to drivers/pci/pci.c and arch/ppc/kernel/pmac_pci.c, which were
originally written by Ryuichi Oikawa for the purpose of using 32-bit 
cardbus cards as PCI cards under linuxppc. You can check the contents 
of the patches from the URL below:

  http://www.rr.iij4u.or.jp/~roikawa/others.html (written in Japanese)

I'd incidentally applied these patches to my linux-2.2.15pre7 but not
to others. Now I've built the latest pre14 kernel and applied the same
patches to it. Then the 3.1.13 beta pcmcia-cs was well working with my 
32-bit cardbus LAN card. Unfortunately it appears that these patches 
can not be applied to 2.3.* kernels. 

My great apologies to you for taking your time.

p.s. To PB users:

To use the above patched kernel with pcmcia-cs and 32-bit cards, I 
used OF (Open Firmware) booting into the kernel. To use booting into 
this kernel via BootX under MacOS, the pcmcia service should be disabled.

Question tulip_cb.o: unresolved symbol DEV_FREE_SK (pcmcia-cs.13-Mar)

Date: 2000, Mar 14
From: Tsuneya Watabe watabe

I tried pcmcia-cs.13-Mar beta and got the error messages below:

cardmgr[512]: executing: 'insmod /lib/modules/2.2.15pre14/pcmcia/cb_enabler.o'
cardmgr[512]: executing: 'insmod /lib/modules/2.2.15pre14/pcmcia/tulip_cb.o'
cardmgr[512]: + /lib/modules/2.2.15pre14/pcmcia/tulip_cb.o: unresolved symbol DEV_FREE_SKB
cardmgr[512]: insmod exited with status 1
cardmgr[512]: executing: 'modprobe tulip_cb'
cardmgr[512]: + /lib/modules/2.2.15pre14/pcmcia/tulip_cb.o: unresolved symbol DEV_FREE_SKB
cardmgr[512]: modprobe exited with status 1
cardmgr[512]: get dev info on socket 1 failed: Resource temporarily unavailable

What is this "unresolved symbol DEV_FREE_SKB"?  A bug in tulip_cb or any 
relation to version code?  BTW, pcmcia-cs.10-Mar was fine with my cardbus 
LAN card (Macsense, MPC-200 PCB) under the same 2.2.15pre14 kernel.

Regards,

Tsuneya Watabe

None Just a mistake

Re: Question tulip_cb.o: unresolved symbol DEV_FREE_SK (pcmcia-cs.13-Mar) (Tsuneya Watabe)
Date: 2000, Mar 14
From: David Hinds <dhinds@pcmcia.sourceforge.org>

It is a bug, and it is fixed in the 14-Mar-00 beta.

-- Dave

Ok Now it's okay. Thank you.

Re: None Just a mistake (David Hinds)
Date: 2000, Mar 15
From: Tsuneya Watabe watabe

Thank you for this quick response. 

The March 14 beta solved my problem and now I've compiled the official 3.1.13 
pcmcia-cs which is well working now.

Regards,

Tsuneya Watabe

Question Problem of smc91c92_cs with a potentially supported card

Date: 2000, Mar 23
From: Tsuneya Watabe watabe

I have a 16-bit 10BT/100BTX LAN card, originally manufactured for the use on 
Apple's PowerBooks under Mac OS. On linux side, the card is well recognized 
by pcmcia-cs and cardctl  ident gives sufficient info on it, indicating smc91c92_cs 
as the driver. So I added this info to /etc/pcmcia/config and booted into the 
linux kernel (2.2.15pre15). The log messages below appears to show no
untowards in terms of card recognition.

kernel: eth0: smc91c100-FD rev 0: io 0x300, irq 22, hw_addr 00:E0:25:15:03:CA
kernel:   128 kb buffer, MII xcvr
pcmcia: Starting PCMCIA services:
pcmcia:  modules
pcmcia:  cardmgr.
rc: Starting pcmcia succeeded
cardmgr[304]: starting, version is 3.1.13
cardmgr[304]: watching 2 sockets
cardmgr[304]: initializing socket 0
cardmgr[304]: socket 0: dit Co., Ltd., PC Card-10/100BTX, 001
cardmgr[304]: executing: 'insmod /lib/modules/2.2.15pre15/pcmcia/smc91c92_cs.o'
cardmgr[304]: executing: './network start eth0'

However, trying to ping always results in no transmit of packets and route add gw 
does not work. Previously I had the same problem with a 10BT 16bit Ositech card 
which also used smc91c92_cs. Though this is not an urgent problem for me, any 
suggestion to solve this problem will be greatly appreciated. 

Thank you.

Ok Many thanks for new smc91c92_cs.c

Re: Question Problem of smc91c92_cs with a potentially supported card (Tsuneya Watabe)
Date: 2000, May 06
From: Tsuneya Watabe watabe

Last week, I tried a revised smc91c92_cs.c which was kindly sent from David and 
my problem has all gone. I confirmed that this new file has been included in the 
latest pcmcia-cs source (pcmcia-cs.04-May-00.tar.gz). Many thanks to the author 
for his great work.

Tsuneya Watabe

None WaveLan Turbo Gold

Date: 2000, May 12
From: Ulyssis Bravo Ninetysix

Anyone else able to get a WaveLan card to work in a PowerBook G3? I'm getting "unresolved symbols" in parport_cs.o and wvlan_cs.o modules upon startup of my machine when depmod runs...

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_pc_ops

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_proc_unregister

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_register_port

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_quiesce

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_proc_register

/lib/modules/2.2.15-2.9.0/pcmcia/parport_cs.o: unresolved symbol parport_unregister_port

/lib/modules/2.2.15-2.9.0/pcmcia/wvlan_cs.o: unresolved symbol isa_io_base

http://www.roelle.com/wvlanPPC/index.html

I followed everything in roelle's website and I pretty much have the same setup as him except I have a newer kernel and the GOLD card instead of SILVER. I used pcmcia 3.1.10 and used the patches. Pcmcia 3.1.14 didn't help either. Please let me know if anyone else got a WaveLan card to work with linuxppc/yellowdoglinux to communicate with the Airport Base Station. Thanks.

Ninetysix uly96ser@aol.com

Sad pcmcia-cs-3.1.13 and 15 can't cross-compile for powerpc

Date: 2000, May 22
From: Tom Eden tome

I tried to build the pcmcia driver using a cross-compiler. I am using a Hardhat cross-compiler from MontaVista to compile for a powerpc. On the two lines in the Makefile that say "@./Configure" I added --arch=powerpc --cc=/opt/hardhat/devkit/ppc/8xx/bin/powerpc-linux-gcc --ld=/opt/hardhat/devkit/ppc/8xx/bin/powerpc-linux-ld

During "make all" I got undefined references to "isa-io-base" and "ioperm." The build worked fine when I used the normal gcc compiler on Redhat Linux 6.2. It looks like the build got fairly far along. I'm wondering if there are any settings I left out.

--Tom Eden

Here are the error messages I got:

/opt/hardhat/devkit/ppc/8xx/bin/powerpc-linux-gcc -O -Wall -Wstrict-prototypes -pipe -I../include -I/opt/hardhat/devkit/ppc/8xx/kernel/linux-2.2.13/include -I../modules probe.c -o probe

/tmp/ccL4gAgy.o: In function `i365_get':

/tmp/ccL4gAgy.o(.text+0x16): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x1a): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x26): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o: In function `i365_set':

/tmp/ccL4gAgy.o(.text+0x5a): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x5e): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x6a): more undefined references to `isa_io_base' follow

/tmp/ccL4gAgy.o: In function `i365_probe':

/tmp/ccL4gAgy.o(.text+0x1c4): undefined reference to `ioperm'

/tmp/ccL4gAgy.o(.text+0x1c4): relocation truncated to fit: R_PPC_REL24 ioperm

/tmp/ccL4gAgy.o(.text+0x1d4): undefined reference to `ioperm'

/tmp/ccL4gAgy.o(.text+0x1d4): relocation truncated to fit: R_PPC_REL24 ioperm

/tmp/ccL4gAgy.o(.text+0x2e6): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x2ea): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x2fe): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o: In function `tcic_getb':

/tmp/ccL4gAgy.o(.text+0x44e): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x452): undefined reference to `isa_io_base'

/tmp/ccL4gAgy.o(.text+0x46a): more undefined references to `isa_io_base' follow

/tmp/ccL4gAgy.o: In function `tcic_probe':

/tmp/ccL4gAgy.o(.text+0x7b0): undefined reference to `ioperm'

/tmp/ccL4gAgy.o(.text+0x7b0): relocation truncated to fit: R_PPC_REL24 ioperm

/tmp/ccL4gAgy.o(.text+0x7c0): undefined reference to `ioperm'

/tmp/ccL4gAgy.o(.text+0x7c0): relocation truncated to fit: R_PPC_REL24 ioperm

collect2: ld returned 1 exit status

make[1]: *** [probe] Error 1

make[1]: Leaving directory
 `/opt/hardhat/devkit/ppc/8xx/kernel/linux-2.2.13/pcmcia-cs-3.1.15/cardmgr'

make: *** [all] Error 2

None I think you've already built everything you need

Re: Sad pcmcia-cs-3.1.13 and 15 can't cross-compile for powerpc (Tom Eden)
Date: 2000, May 22
From: David Hinds <dhinds@pcmcia.sourceforge.org>

You don't need the "probe" command.  But I'll fix it for 3.1.16 so
that this won't be a problem.

-- Dave

Question failure in compiling pcmcia-cs-3.1.16 and 3.1.17 beta

Date: 2000, Jun 12
From: Tsuneya Watabe watabe

I tried to compile pcmcia-cs-3.1.16 and pcmcia-cs.09-Jun-00 (3.1.17 
beta), respectively, but couldn't get through with the error messages 
below:

cc -fno-builtin -msoft-float -ffixed-r2  -MD -O2 -Wall -Wstrict-prototypes 
-pipe -I../include -I/usr/src/linux/include  -D__KERNEL__ -DMODULE -c i82365.c
i82365.c: In function `cirrus_set_opts':
i82365.c:487: `IS_VT83C469' undeclared (first use in this function)
i82365.c:487: (Each undeclared identifier is reported only once
i82365.c:487: for each function it appears in.)
{standard input}: Assembler messages:
{standard input}:6: Warning: Ignoring changed section attributes for .modinfo
i82365.c: At top level:
i82365.c:1180: warning: `_check_irq' defined but not used
make[1]: *** [i82365.o] Error 1
make[1]: Leaving directory `/usr/src/pcmcia-cs-3.1.16/modules'
make: *** [all] Error 2

My configuration under 2.2.16 kernel source is as follows:

Kernel configuration options:
    Symmetric multiprocessing support is disabled.
    PCI BIOS support is enabled.
    Power management (APM) support is disabled.
    SCSI support is enabled.
    Networking support is enabled.
     Radio network interface support is disabled.
     Token Ring device support is disabled.
     Fast switching is disabled.
    Module version checking is disabled.
    /proc filesystem support is enabled.

Considering that pcmcia-cs.06-Jun-00 was successfully compiled, the 
cause of this compilation failure appears to be related to some of the 
additions below shown in the CHANGES file included in pcmcia-cs-3.1.16.

-- Added force_size option for SRAM cards to memory_cs driver.
-- Better wording in COPYING file.
-- PCMCIA status files (stab, scheme) now only go in /var/lib/pcmcia;
   removed the /var/state option because it was dropped from FHS 2.1.

Is there anything I can do to deal with this problem?

Thank you.

Tsuneya Watabe

None Sorry about that...

Re: Question failure in compiling pcmcia-cs-3.1.16 and 3.1.17 beta (Tsuneya Watabe)
Date: 2000, Jun 12
From: David Hinds <dhinds@pcmcia.sourceforge.org>

It is fixed in the 12-Jun-00 beta.

-- Dave

Question No PCMCIA success on Apple PowerBook PISMO (long, sorry)

Date: 2000, Jul 19
From: Albrecht Dress Albrecht.Dress

I am trying to get the Adaptec 1480 SCSI CardBus card running on several Apple PowerBooks. On the PB 1999 (aka Lombard) I was successful using BenH's latest 2.2.17pre10 kernel with the (slightly modified) patch by Ryuichi Oikawa (see http://ppclinux.apple.com/~benh/ and http://www.rr.iij4u.or.jp/~roikawa/others.html). On the PB2000 (aka Pismo) this failed with the same kernel, patch and pcmcia version/configuration. These are the messages from the pcmcia package:

 pcmcia: Starting PCMCIA services:
 pcmcia: modules
 kernel: Linux PCMCIA Card Services 3.1.18
 kernel: kernel build: 2.2.17pre10-ben2 #7 Wed Jul 19 14:20:57 CEST 2000
 kernel: options: [pci] [cardbus]
 kernel: Intel PCIC probe:
 kernel: TI 1211 rev 00 PCI-to-CardBus at slot 00:1a, mem 0x80080000
 kernel: host opts [0]: [pci only] [pci irq 58] [lat 16/32] [bus 1/1]
 kernel: PCI irq 58 test failed
 kernel: *NO* card interrupts, polling interval = 1000 ms
 pcmcia: cardmgr.
 cardmgr[375]: starting, version is 3.1.18
 rc: Starting pcmcia succeeded
 cardmgr[375]: watching 1 sockets
 [...]
 cardmgr[375]: initializing socket 0
 cardmgr[375]: socket 0: Adaptec APA-1480 SCSI Host Adapter
 kernel: cs: cb_alloc(bus 1): vendor 0x9004, device 0x6075
 cardmgr[375]: executing: 'modprobe cb_enabler'
 cardmgr[375]: executing: 'modprobe apa1480_cb'
 kernel: cs: cb_config(bus 1)
 kernel: fn 0 bar 1: io 0x1000-0x10ff
 kernel: fn 0 bar 2: mem 0x90030000-0x90030fff
 kernel: fn 0 rom: mem 0x90020000-0x9002ffff
 kernel: apa1480_attach(device 01:00.0)
 kernel: aic7xxx: <Adaptec PCMCIA SCSI controller> at PCI 1/0/0
 kernel: aic7xxx: Controller disabled by BIOS, ignoring.
 kernel: apa1480_cs: no SCSI devices found
 kernel: scsi : 0 hosts.
 cardmgr[375]: get dev info on socket 0 failed: No such device

I suspect that some initialisation of the CardBus bridge failes. "lspci -vv" with the cardbus card inserted gives the following output:

00:1a.0 CardBus bridge: Texas Instruments PCI1211
  Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
  Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
  Latency: 16, cache line size 08
  Interrupt: pin A routed to IRQ 58
  Region 0: Memory at 80080000 (32-bit, non-prefetchable)
  Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
  I/O window 0: 00000000-00000003
  I/O window 1: 00000000-00000003
  BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
  16-bit legacy interface ports at 0001

01:00.0 SCSI storage controller: Adaptec AIC-1480 / APA-1480 (rev 03)
  Subsystem: Adaptec: Unknown device 7560
  Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
  Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
  Latency: 64 (1000ns min, 1000ns max), cache line size 08
  Interrupt: pin A routed to IRQ 0
  Region 0: I/O ports at 1000
  Region 1: Memory at 90030000 (32-bit, non-prefetchable)
  Expansion ROM at 90020000 [disabled]
  Capabilities: [dc] Power Management version 1
    Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-

The differences to the (working) Lombard are:

 < Latency: 32, cache line size 08
 < Interrupt: pin A routed to IRQ 22
 < Region 0: Memory at 80880000 (32-bit, non-prefetchable)
 < Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
 ---
 > Latency: 16, cache line size 08
 > Interrupt: pin A routed to IRQ 58
 > Region 0: Memory at 80080000 (32-bit, non-prefetchable)
 > Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
10c10
 < BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
 ---
 > BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
 18c18
 < Interrupt: pin A routed to IRQ 22
---
 > Interrupt: pin A routed to IRQ 0

Has anybody had more success with the Pismo PowerBook? With which configuration? ANY help is really welcome!

Thanks in advance, Albrecht.

Ok Success: PCMCIA working on Lombard/Pismo

Re: Question No PCMCIA success on Apple PowerBook PISMO (long, sorry) (Albrecht Dress)
Date: 2000, Aug 02
From: Albrecht Dress Albrecht.Dress

I finally got a working PCMCIA subsystem on a Lombard and Pismo PowerBook with both yaboot and BootX. Here is a short description of the necessary installation steps:

* get BenH's latest kernel sources 2.2.17pre13-ben1 form http://ppclinux.apple.com/~benh/. If you boot with yaboot, apply the small patch below. It fixes the values of three registers in the CardBus bridge (secondary and subordinate bus, interrupt line to device pin routing) which are not set correctly by OpenFirmware. If you boot with BootX, the very early stages of MacOS seem to do this, so it is not necessary to apply the patch in this case (it does not do any harm, though).

* get the PCMCIA package pcmcia-cs.25-Jul-00.tar.gz or later from ftp://pcmcia-cs.sourceforge.net/pub/pcmcia-cs/NEW/ and install it as usual. Due to a small bug, the latest stable release 3.1.19 does NOT work with the Pismo (but it does with the Lombard), as interrupts above 31 are not recognised. I think this will be fixed in (stable) 3.1.20.

* edit /etc/pcmcia/config.opts and leave only these two lines uncommented:

	include port 0x1000-0x1fff
	include memory 0x90000000-0x90ffffff

With this configuration, I use an Adaptec SlimSCSI 1480A scsi CardBus card. I do not know if all other cards ard supported, YMMV.

Have fun, Albrecht.

~~~~~~Patch follows here~~~~~~
--- linux-2.2.17pre13-ben1-orig/arch/ppc/kernel/pmac_pci.c      Wed Jul 26 12:12:15 2000
+++ linux-2.2.17pre13-ben1-pcmcia/arch/ppc/kernel/pmac_pci.c    Wed Jul 26 12:12:54 2000
@@ -741,6 +741,32 @@
                } else
                        fix_intr(bp->node->child, dev);
        }
+
+#define PCI_DEVICE_ID_TI_PCI1211        0xac1e
+/* Multifunction Routing Register */
+#define TI1211_MF_ROUTING               0x008c  /* 32 bit */
+#define  TI1211_EN_PCI_INTA             0x02    /* route PCI interrupts */
+       {
+         struct pci_dev *dev;
+
+         for(dev = pci_devices; dev; dev = dev->next)
+           {
+            if (((dev->class >> 8) == PCI_CLASS_BRIDGE_CARDBUS) &&
+                    (dev->vendor == PCI_VENDOR_ID_TI) &&
+                    (dev->device == PCI_DEVICE_ID_TI_PCI1211))
+              {
+                /* Lombard, Pismo */
+                printk("pcibios_fixup: fixing TI PCI1211 CardBus bridge.\n");
+
+                pcibios_write_config_dword (dev->bus->number, dev->devfn,
+                                            TI1211_MF_ROUTING, TI1211_EN_PCI_INTA);
+                pcibios_write_config_byte (dev->bus->number, dev->devfn, 
+                                           PCI_SECONDARY_BUS, 1);
+                pcibios_write_config_byte (dev->bus->number, dev->devfn, 
+                                           PCI_SUBORDINATE_BUS, 4);
+              }
+           }
+       }
 }

 __initfunc(

Question PB3400

Date: 2000, Aug 02
From: Claus Enneper Claus

is it possible to say this machine is 16-bit or 32-bit capable?

lspci -vv

00:13.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	Subsystem: Unknown device 104c:ac12
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 set, cache line size 08
	Interrupt: pin A routed to IRQ 22
	Region 0: Memory at 80804000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt- PostWrite-
	16-bit legacy interface ports at 0007

00:13.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	Subsystem: Unknown device 104c:ac12
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 set, cache line size 08
	Interrupt: pin B routed to IRQ 23
	Region 0: Memory at 80803000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite-
	16-bit legacy interface ports at 0007

TIA Claus

None Re: Question: PB3400

Re: Question PB3400 (Claus Enneper)
Date: 2000, Aug 02
From: David Hinds <dhinds@pcmcia.sourceforge.org>

I'm not sure I understand the question but I think the answer is
"yes", you've got a CardBus bridge, which will take 32-bit cards.

I'm not sure which ones work under linux on PPC, though.

-- Dave

None Re: Question: PB3400

Re: None Re: Question: PB3400 (David Hinds)
Date: 2000, Aug 02
From: Claus Enneper Claus

On Wed, Aug 02, 2000 at 03:36:19PM -0700, David Hinds:
 >: 
 >: I'm not sure I understand the question but I think the answer is
 >: "yes", you've got a CardBus bridge, which will take 32-bit cards.
 >: 

Apple's Tech Info Library:
"Except for the original PowerBook G3 model, all PowerBooks with a G3
 processor support the use of CardBus PC cards." 

The first G3 is also known as 3500, form factor of the PB3400.
AFAIR the PB3400 [which is quite one year older than the 3500]
has got the (old) PCMCIA standart.

But linux says it's a CardBus bridge.
 unfortunatly I can't find any link at apple.com regarding this question.

-- 
Yours, ce

None You have a CardBus bridge

Re: None Re: Question: PB3400 (Claus Enneper)
Date: 2000, Aug 02
From: David Hinds <dhinds@pcmcia.sourceforge.org>

You have a CardBus bridge.  There is no question about it.  You do.

I can't really speculate about whether CardBus cards do or do not work
under linux on this system.  I don't know.

-- Dave

None Re: You have a CardBus bridge

Re: None You have a CardBus bridge (David Hinds)
Date: 2000, Aug 03
From: Claus Claus

 >: 
 >: You have a CardBus bridge.  There is no question about it.  You do.
 >: 

Thank you.

I will ask some other 3400 owners about lspci.
perhaps there are differences.
-- 
Yours, ce

Feedback I _think_ this should work...

Re: None Re: Question: PB3400 (Claus Enneper)
Date: 2000, Aug 03
From: Albrecht Dress Albrecht.Dress

I remember some people in the linuxppc mailing lists who have a PowerBook G3 (aka Wallstreet) with working PCMCIA stuff. Afaik, the Wallstreet has a TI1131 CardBus bridge which is compatible with the 1130. Did you check the list archives on http://lists.linuxppc.org ?

Hope this helps, Albrecht

Question support for PPC 8xx

Date: 2000, Aug 08
From: Matthew Locke mlocke

I see options for 8xx in the modules/Makefile (3.1.18) but I don't see the source files, m8xx_pcmcia.c. I know Magnus Damm did the work for 8xx in pcmcia-cs 3.1.10. Did his changes/additions get incorporated into the main source tree? If not any plans to do so?

I have Magnus' patch against 3.1.10. I am going to move into 3.1.18, but I would like not to have to do that for every new version.

btw, I work for Montavista, an Embedded Linux distributor. We are going to include card services in our distribution for a variety of platforms, PPC (7xx,8xx) x86 and SA.


thanks

Matthew Locke
Montavista Software
http://www.mvista.com

None Re: I've been waiting for more feedback

Re: Question support for PPC 8xx (Matthew Locke)
Date: 2000, Aug 08
From: Matthew Locke mlocke

David Hinds wrote:
> 
> I have not heard from Magnus Damm for a while.  The last time we
> talked, I had incorporated some of the infrastructure needed for the
> 8xx driver but had not fully merged it in.  I asked him to test some
> things for me and haven't heard from him since then.
> 
> So the long term plan is to merge this in, but since I can't test it,
> it is gated on other people checking things for me.  If you can update
> the patch for 3.1.19 and verify that it works, and pass it by Magnus
> for comment, I'll apply it.

I will work on updating the patch for 3.1.19.  However, with LinuxWorld
next week, I probably won't start for a week or two.  Let me know if you
hear from Magnus, so we don't repeat work already done.

None I've been waiting for more feedback

Re: Question support for PPC 8xx (Matthew Locke)
Date: 2000, Aug 08
From: David Hinds <dhinds@pcmcia.sourceforge.org>

I have not heard from Magnus Damm for a while.  The last time we
talked, I had incorporated some of the infrastructure needed for the
8xx driver but had not fully merged it in.  I asked him to test some
things for me and haven't heard from him since then.

So the long term plan is to merge this in, but since I can't test it,
it is gated on other people checking things for me.  If you can update
the patch for 3.1.19 and verify that it works, and pass it by Magnus
for comment, I'll apply it.

-- Dave

Question Harald Roelle's changes in 3.1.19?

Date: 2000, Aug 18
From: Paul J. Lucas pjl

Hi -

Have Harald Roelle's patches listed at:

	http://www.roelle.com/wvlanPPC/

for 3.1.17 been incorporated into 3.1.19?

I'm trying to get a Lucent Wavelan card going on a Lombard
PowerBook.

- Paul

None No, they have not

Re: Question Harald Roelle's changes in 3.1.19? (Paul J. Lucas)
Date: 2000, Aug 18
From: David Hinds <dhinds@pcmcia.sourceforge.org>

That's all for now.

- Dave

None Re: No, they have not

Re: None No, they have not (David Hinds)
Date: 2000, Aug 18
From: Paul J. Lucas pjl

On Fri, 18 Aug 2000, David Hinds wrote:

> That's all for now.

 So I assume that means: "A Wavelan card won't work on a
 PowerBook with 3.1.19," right?  I have to try to get 3.1.17
 working?

 - Paul
Non-x86 PCMCIA Issues


Add Message to: "Non-x86 PCMCIA Issues"

Members Subscribe Admin Mode Show Frames Help for HyperNews at pcmcia-cs.sourceforge.net 1.10