# Can't locate module ds

## jbowencpe

During the boot process, immediately after entiering runlevel 3, I receive the message:

...

INIT: Entering runlevel: 3

modprobe: can't locate module ds

...

It then goes on to load pcmcia drivers and cardmgr successfully, then I receive this error:

...

Bringing eth0 up

dhcpcd[901]: dhcpStart: ioctl SIOCGIFHWADDR: No such device

Failed to bring eth0 up

ERROR:  Problem starting needed services

              "netmount" was not started

...

What exactly is "ds?"  I loaded it successfully from the bootdisk during install but can't seem to find any information about what it actually is and does.  I know it has something to do with PCMCIA but I don't know what.  Any help is greatly appreciated

Justin

(note: forum search for "module ds" and "ds" returned nothing)

----------

## haegar

pcmcia_core.o and ds.o are created when you compile PCMCIA/CardBus support into your kernel. It is also part of the pcmcia-cs package.

ds.o is necesarry for pcmcia. 

So.. perhaps you forgot to activate the switch or you haven't re-emerged pcmcia-cs after a new compilation of your modules.

you should find ds.o 

in /lib/modules/yourkernelname/pcmcia/ds.o (pcmcia-cs)

or

/lib/modules/yourkernelname/kernel/drivers/pcmcia/ds.o if you use the kernel version.

hope that helps..

----------

## jbowencpe

I'm not sure why it's even looking for the module.  I've compiled all the PCMCIA drivers into the kernel (cardbus & i82365).  Is ds.o still necessary?

----------

## dweigert

This just started after I did an emerge -u world.  I also have the pcmcia drivers in the kernel, but have my card drivers set as modules.  After the dhcpcd fails, and subsequent services fail as well, I can start dhcpcd manually on the command line.  The machine has no problem finding it's card or contacting the dhcp server.  To try to fix this, I did an update of both pcmcia-cs, and dhcpcd.  Neither helped.  I'm begining to feel that there is a timing issue where something is not yet initialised when dhcp is called.  By the way, I'm using a Xircom 10/100 + 56K modem card.

----------

## jbowencpe

I'm using a Xircom card as well (RBEM56g-100 I believe).  I've compiled all necessary drivers into the kernel in my attempt to get it working (Linux Cardbus, i82365 just in case, and Xircom cardbus support).

----------

## dweigert

I think it is the same card.  I haven't updated my kernel recently, so I don't think that's at fault. (2.4.19 vanilla with XFS)

Dan

----------

## dweigert

I had a thought this morning... I wonder if the script is setting the right device name for the interface... Like dhcpcd eth0.  I wonder if it is doing something different because it cant find the ds module.. I'm going to test this and report back.

Dan

----------

## dweigert

Ok, I solved it... 

The net.eth0 script should also depends on hotplug being executed BEFORE dhcpd.  Why it suddenly started being executed after, I don't know.  By changing the depend line in /etc/init.d/net.eth0 to read:

```

depend() {

        use pcmcia

        use hotplug

}

```

the eth0 comes up before dhcpcd is executed.

Should I file a report with bugzilla?

----------

## jbowencpe

I've tried about every combination of compiling these PCMCIA/NIC drivers (Cardbus, 82365, & Xircom Cardbus) as modules and directly into the kernel.  I did an unmerge and re-emerged the PCMCIA stuff as well.

When I compile into the kernel I get:

   Entering run level 3

   modprobe: can't locate module ds

   Bringing eth0 up 

   dhcpcd[901]: dhcpStart: ioctl SIOCGIFHWADDR: No such device 

   Failed to bring eth0 up 

   ERROR: Problem starting needed services 

   "netmount" was not started 

So I changed net.eth0 from:

```
depend() { 

      need pcmcia

} 
```

to

```
depent(){

      use pcmcia

}
```

and I don't get the ds error anymore, instead i receive

dhcpcd[875]: dhcpStart:  ioctl  SCIOCSIFFLAGS: Device or resource busy

   Failed to bring eth0 up 

   ERROR: Problem starting needed services 

   "netmount" was not started 

For reference, here are my some specs:

Toshiba Satellite 4030CDT

Intel Celeron 300

Xircom RBEM56G-100 (10/100 56k Cardbus Adapter)

----------

## dweigert

Like I said in my prior posting, you need to make sure pci hotplug is enabled in the kernel... Cardbus cards are really pci cards.  and then you have to make sure hotplug is initialised before the net.eth0 is.  The Xircom cards by the way are 32bit cardbus cards... 

Good luck!

Dan

----------

## jbowencpe

Thanks for the tip - I think I'm a bit step closer.  I had to emerge hotplug and compiled it into the kernel.  I added

```
depend() { 

      need pcmcia

      need hotplug

} 
```

to netmount as well as net.eth0.  I'm pretty much having the same problem, though, and it's that blasted ds.o  :-s

INIT: Entering runlevel: 3

* Starting USB and PCI Hotplugging	           [ok]

modprobe: can't locate module ds	

* Starting pcmcia...

cardmgr[1195]: watching 2 sockets

cardmgr[1195]: starting, version in 3.2.1

cardmgr[1195]: socket 0: cardbus hotplug device    [ok]

* Bringing eth0 up...

dhcpcd [1202]: dhcpStart: ioctl SCIOCSIFFLAGS: Device or resource busy 

Failed to bring eth0 up 

ERROR: Problem starting needed services 

       "netmount" was not started 

----------

## dweigert

Ok, You should have all of the pcmcia drivers as modules, except for the socket drivers.  They should be in the kernel.  In your dmesg, do you have something like the following?

```

Mar 13 09:49:29 elena kernel: Linux Kernel Card Services 3.1.22

Mar 13 09:49:29 elena kernel:   options:  [pci] [cardbus] [pm]

Mar 13 09:49:29 elena kernel: PCI: Found IRQ 11 for device 00:03.0

Mar 13 09:49:29 elena kernel: PCI: Sharing IRQ 11 with 00:03.1

Mar 13 09:49:29 elena kernel: PCI: Sharing IRQ 11 with 00:07.2

Mar 13 09:49:29 elena kernel: PCI: Found IRQ 11 for device 00:03.1

Mar 13 09:49:29 elena kernel: PCI: Sharing IRQ 11 with 00:03.0

Mar 13 09:49:29 elena kernel: PCI: Sharing IRQ 11 with 00:07.2

Mar 13 09:49:29 elena kernel: pci_hotplug: PCI Hot Plug PCI Core version: 0.4

Mar 13 09:49:29 elena kernel: Yenta IRQ list 0698, PCI irq11

Mar 13 09:49:29 elena kernel: Socket status: 30000020

Mar 13 09:49:29 elena kernel: Yenta IRQ list 0698, PCI irq11

Mar 13 09:49:29 elena kernel: Socket status: 30000006

Mar 13 09:49:29 elena kernel: cs: cb_alloc(bus 2): vendor 0x115d, device 0x0003

Mar 13 09:49:29 elena kernel: PCI: Enabling device 02:00.0 (0000 -> 0003)

Mar 13 09:49:29 elena kernel: PCI: Enabling device 02:00.1 (0000 -> 0003)

Mar 13 09:49:29 elena kernel: ttyS04 at port 0x4080 (irq = 11) is a 16550A

Mar 13 09:49:29 elena kernel: xircom_tulip_cb.c derived from tulip.c:v0.91 4/14/99 becker@scyld.com

Mar 13 09:49:29 elena kernel:  unofficial 2.4.x kernel port, version 0.91+LK1.1, October 11, 2001

Mar 13 09:49:29 elena kernel: PCI: Setting latency timer of device 02:00.0 to 64Mar 13 09:49:29 elena kernel: eth0: Xircom Cardbus Adapter rev 3 at 0x4000, 00:10:A4:C2:52:18, IRQ 11.

Mar 13 09:49:29 elena kernel: eth0:  MII transceiver #0 config 3100 status 7809

advertising 01e1.

```

The above are just snips from my boot, pasted together, but it gives you an idea of what should be seen.  If you want I can post my kernel config.

Dan

----------

## jbowencpe

Excuse my ignorance, but what are you referring to by socket drivers?  And if you wouldn't mind posting your kernel configuration or a link to the file so I can download it and look at it, I would really appreciate it.  I believe you mentioned you're using vanilla 2.4.19 - I'm running Gentoo 2.4.20 and I'm not sure of the differences between them.  I'll play around more with the modules in this one and may emerge vanilla if that doesn't work.  Thanks again for your help, Dan.

Justin

----------

## georgz

Which module do you use for the Xircom Card? I use xircom_cb, added it to modules.autoload. Nothing more neccessary. 

If I remember right I didn't get it to work with the other xircom module (xirc2ps_cs.o).

And, my net.eth0 has 

```
depend() {

        use pcmcia

}

```

So it probably doesn't work with hotplugging, but it works   :Wink: 

----------

## dweigert

Since I use the kernel drivers rather than the drivers that come with the  pcmcia_cs package, I need to use hotplugging etc..   Just doing an insmod of the driver might work, but I sometime I maight want to use a wireless lan card instead, or maybe a firewire card, or whatever. 

 :Very Happy: 

In any case, the link to my kernel config is:

http://www.taco.com/dlw/gentoo.config

Hope this helps....

Dan

----------

## jbowencpe

Thanks for all your help, guys (especially Dan for your time).  Got it working finally!!  Had some wierd stuff go on with the kernel config, though.  Some of my settings had changed to "N" and I don't know why.  But regardless, here's what I did

PCMCIA CardBus = Y

Hotplug = N

Xircom CarBus = M

net.eth0: 

     depend{

          use pcmica

     }

modules.autoload:

     xircom_cb

I had some other lingering settings that I disabled, such as i82365, and that may have helped.  Now I'm on to emerging the portage tree, xfree, etc.   Thanks again for your help

----------

