# Texas  Inst. 5-in-1 SD - problems getting udev node [SOLVED]

## coplaniuk

I have an HP dv5000 series laptop with a Texas Instrument 5-in-1 card reader.  I'm tying to get it working so that I can mound an SD card.  Here's my lspci:

 *Quote:*   

> 
> 
> 08:06.0 CardBus bridge: Texas Instruments Unknown device 8039
> 
> 08:06.1 FireWire (IEEE 1394): Texas Instruments Unknown device 803a
> ...

 

I have the sdhci, mmc_core, mmc_block, tifm_7xx1 and tifm_core modules loaded.  But udev doesn't seem to be creating any sort of relevant node in /dev.  Only sd device is sda, which is my hard drive.  There is no mmc device either.  

I followed the following articles on the Gentoo Wiki:

http://gentoo-wiki.com/HOWTO_Multicard_reader

http://gentoo-wiki.com/HOWTO_SD_and_MMC_card_readers

No luck.  Can't seem to figure it out.

Anyone have any advice to offer?

----------

## coplaniuk

Any ideas.  Tinkered around a bit, but still can't seem to get it working.  'dmesg' seems to recognize that I've stuck something in the drive, but that's it.  Doesn't map a device to /dev/.  Can't figure it out.

Any help would be greatly appreciated.  I just want to try to figure something out.

----------

## kr0z

Please, confirm, that you have followed all step of manuals you mentioned above.

Because in my case the problem was in "Probe all LUNs on each SCSI device" option - it was disables and I had troubles.

----------

## coplaniuk

Didn't miss that step.  Been tinkering some more and I havn't made it any further.  Somewhere on the Gento WIKI, I found reference to a tifm_core, tifm_sd and tifm_7xx1 drivers.  I can't find it again.  So somewhere along the line, I tried those drivers, and they got me the furthest so far.  I modprobed them all, and all I get when I insert the card is this:

 *Quote:*   

> 
> 
> tifm_7xx1: xd card detected in socket 0
> 
> tifm_7xx1: demand removing card from socket 0
> ...

 

That's all I get.  

I even tried compiling all tifm support into the kernel (instead of as modules).  No luck.

----------

## coplaniuk

So I added this to  /etc/udev/rules.d/10-mmc.rules:

```

# Mount and remove mmc partitions manually

ACTION=="add" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pmount %k"

ACTION=="remove" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pumount %k"

```

Now, when I insert the card, my system hangs.  dmesg spits out a message, but I can barely get dmesg to work every time.  Unfortunately, I can't seem to copy/paste the output before the system hangs.  I also can't find the info in a log file anywhere.    What I do know is that I can move my mouse around and the system seems relatively responsive -- except that there's absolutely no block devices.  I think my sata driver failed somehow.  I had to reboot to even access any of the disks (this is all very bizarre, of course).

any more ideas?

----------

## avx

I've got the same problem with the needed stuff build into the kernel (2.6.20-r4). It once did work with 2.6.19-rX and an old udev, now with most recent versions, it doesn't work.

Is pmount needed? I never had it installed and it worked good without it before.

cheers,

ph

----------

## Insanity5902

I can also say, I am having a problem with my TexasInstruments SD reader, it worked before, but now I am not getting any /dev nodes when a card is inserted, running 2.6.20 and  udev-108

No solutions yet, just mentioning that this isn't a single case issue.

----------

## avx

 *Quote:*   

> No solutions yet, just mentioning that this isn't a single case issue.

 

I don't know, if this is still up2date, but to quote http://tifmxx.berlios.de

 *Quote:*   

> Version 0.8 should compile on 2.6.20 kernels and can be used as a replacement for the shipped (and quite unfortunately, buggy) one. It's in progress of merging into the main kernel tree.

 

----------

## Insanity5902

 *ph030 wrote:*   

>  *Quote:*   No solutions yet, just mentioning that this isn't a single case issue. 
> 
> I don't know, if this is still up2date, but to quote http://tifmxx.berlios.de
> 
>  *Quote:*   Version 0.8 should compile on 2.6.20 kernels and can be used as a replacement for the shipped (and quite unfortunately, buggy) one. It's in progress of merging into the main kernel tree. 

 

That works, I got the in kernels to work but very very buggy.  The .8 works a lot better.  No errors in dmesg at all.

----------

## coplaniuk

Ok...the downloaded drivers seem to be doing a bit more.  To get the drivers to do anything except hang the computer, I had to add an option to my boot line in grub:  'irqpoll' -- don't know what that does, but it's what the crash message indicated.

Somewhere along the lines, I added this to my udev rules, a file named '/etc/'udev/rules.d/10-mmc.rules':

 *Quote:*   

> 
> 
> ACTION=="add" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pmount %k"
> 
> ACTION=="remove" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pumount %k"
> ...

 

Anyhow, so I rebooted with that, and tifm_7xx1 loads automatically, but it loads with ohci1394.  I have to unload tifm_7xx1 and ohci1394 before I can load tifm_core, tifm_7xx1 and tifm_sd, mmc_core and mmc_block.  'dmesg' proffers the following info:

 *Quote:*   

> 
> 
> tifm_core: SmartMedia/xD card detected in socket 0:0
> 
> tifm0 : demand removing card from socket 0:0
> ...

 

but I still don't see a mountable device for it in dev.

At least it's not hanging/freezing anymore.  But now what?

----------

## Insanity5902

1) what display in dmesg when you plug a card in.

2) Get rid of those udev rules, i don't think you need them

3) I don't know why ohci1394 are causing you not to be able to modprobe the tifm_core, as that is for firewire ...

4) make sure you don't have sdhci loaded

----------

## coplaniuk

In response to Insanity5902's thoughts:

1)  Here's the message I get when the card is plugged in (note, this time all modules are loaded:  tifm_core, tifm_7xx1, ohci1394, mmc_core, mmc_block):

 *Quote:*   

> 
> 
> tifm_core: SmartMedia/xD card detected in socket 0:0
> 
> tifm0 : demand removing card from socket 0:0 
> ...

 

Nothing else.  Should I be concerned that the notice returned by tifm_core seems to indicate the device as a SmartMedia/xD card?  This is an SD card.

2)  Removed the udev rules.  Removed and reinserted the card.  Same message as above.

3)  ohci1394 wasn't preventing me from loading the other modules, but I think I got it confused with sdhci.  I don't unload it now.  Message returned by dmesg is still as above.

4)  Don't have sdhci compiled.

I should mention, in case you missed it earlier, I'm using the 0.8 version of the drivers directly from the website and I'm ignoring (not compiling) the ones that are part of linux.  No luck thus far (but at least it's not hanging).

----------

## Insanity5902

just for grins and giggles, go put all the modules in your .conf and re-compile everything.

I have all the modules in the kernel, and then compile the .8 outside the kernel and just copy them over it , I just use the make all and make install

And everything works for me know , I didn't have to change anything.

Out of curiosity, what version of udev are you running.

----------

## coplaniuk

Only problem I'm having with that is I'm getting the following error when I try to modprobe:

 *Quote:*   

> 
> 
> # modprobe tifm_core
> 
> FATAL: Error inserting tifm_core (/lib/modules/2.6.20-ck1/kernel/drivers/misc/tifm_core.ko): Invalid module format
> ...

 

----------

## Insanity5902

what does uname -a return.

----------

## coplaniuk

 *Quote:*   

> 
> 
> Linux vessel 2.6.20-ck1 #6 PREEMPT Wed Mar 14 00:27:27 EDT 2007 i686 Genuine Intel(R) CPU  T1350  @ 1.86GHz Genuine Intel GNU/Linux
> 
> 

 

The wierd thing is that I recompiled the kernel with the tifm modules.  I was able to modprobe/insert those modules.  So I unloaded all the modules, compiled the 0.8 version (from download), installed those.  And I can't modprobe those.  Rebooted using my backup kernel (same exact configuration except that it doesn't have the modules set in the kernel config), and I can insert into those.  

I might just downgrade to the 2.6.18 kernel or wait until the next kernel release.

----------

## Insanity5902

two more things before you move on,

1) try running make clean first, when I moved to a different kernel, I had problems until I ran make clean, 

2) when you run make all, watch the output (it shouldn't scroll) and make sure it is pointing to the correct kernel.

then run make install 

rmmod the existing modules, and then modprobe them again.

----------

## coplaniuk

Okay...think the make clean fixed the kernel version error.  But I'm still having trouble getting the SD card reader to map in udev.  

Do you think it's a Kernel issue?  I'm currently using 2.6.20-ck1 (ck sources).  Do you think dropping back to the 2.6.19 or 2.6.18 might make a difference?  Or do you think it's a udev issue?

----------

## coplaniuk

Just for giggles (giggles of insanity), I tried a few LiveCDs to try to pinpoint the problem.  The Gentoo Live CD didn't work, nor did the Sabayon live CD.  Well, I shouldn't say that -- they loaded the modules without error and gave the same dmesg results as above.  But no mapping into udev.  Then I tried SuSE, and it worked perfectly there, auto configured and all.  

But I don't like SuSE.

So I know nothing about udev.  In my readings here on the forum, I am guessing that everything might be working fine, except that I might not have the proper udev rules defined.  As mentioned above, I tried these rules:

 *Quote:*   

> 
> 
> ACTION=="add" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pmount %k"
> 
> ACTION=="remove" KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/usr/bin/pumount %k" 
> ...

 

They didn't work.  But perhaps I wrote them wrong?

Does my thought process make any sense?  Or am I on the wrong track?

I really want to get this working as my camera uses an SD card.  I'm tired of booting into windows to download pictures.

----------

## coplaniuk

*bing*

Solved.  Check out the very helpful thread:  https://forums.gentoo.org/viewtopic-p-4018831.html#4018831

Long story short:  You need to use the 0.8 drivers (not the ones in the kernel) and you need to upgrade udev to version 109 or newer.

----------

## avx

Newest udev + kernel 2.6.21 also fixed it for me.

----------

## toster

in my case I made strange thing with my FlashMedia Controller  :Smile:  (02:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller)

```
setpci -s 02:04.3 4c.b=02
```

I don't understand what's it mean exactly, but after it I can see in /dev/ mmcblk0 and mmcblk0p1 devices and KDE show me nice pop up window  :Smile: 

----------

