SD card support at bootup

A problem with Puppy is that an internal MMC or SD card is not recognised at bootup. It is recognised after bootup. This means that you can't use it to boot from or to hold a 'pupsave' file.

By "internal" I mean laptops that have a card reader built-in. A card reader that connects via USB or IDE interfaces is different.

I have fixed this on my laptop, which has a Texas Instruments multi-function card reader interface. I presume this is what most laptops would have?

If you do have a laptop with internal card reader, could you confirm something for me. Run this:

> elspci -l

...and see if you get a line with "018000" in it. If so, we're in business.

If not, run:

> lspci
or
> scanpci

and see if you can identify which line from elspci corresponds to your card reader interface.

Oh yeah, the kernel modules. On my laptop, these are loaded:

tifm_sd
mmc_block
mmc_core
tifm_7xx1
tifm_core

Run 'lsmod' to find out what is loaded in your laptop. I'm interested in knowing if your hardware needs some other modules.


Posted on 22 Dec 2009, 12:40


Comments:

Posted on 22 Dec 2009, 14:14 by DaveS
Acer Extensa 4620Z
Acer Extensa 4620Z. Includes line:
0f:06. 2 018000 104C:803B <tifm 7xx1>


Posted on 22 Dec 2009, 14:25 by Sit Heel Speek
SD reader on Dell Mini-9
No tifm on this machine, it has a JMicron SD controller.

lsmod:

mmc_block 9864 0
mmc_core 49900 2 sdhci,mmc_block
sdhci 16808 1 sdhci_pci
sdhci_pci 7076 0

scanpci shows 3 JMicron entries, Google confirms these are sd controller entries:

pci bus 0x0002 cardnum 0x00 function 0x00: vendor 0x197b device 0x2382
JMicron Technologies, Inc. Device unknown

pci bus 0x0002 cardnum 0x00 function 0x02: vendor 0x197b device 0x2381
JMicron Technologies, Inc. Device unknown

pci bus 0x0002 cardnum 0x00 function 0x03: vendor 0x197b device 0x2383
JMicron Technologies, Inc. Device unknown

elspci -l shows 3 entries corresponding to the above device numbers:

02:00.3 088000 197B:2383 <jmb38x_ms>
02:00.2 080501 197B:2381 <>
02:00.0 088000 197B:2382 <sdhci-pci>




Posted on 22 Dec 2009, 15:58 by puppymike
EEEPC901
No problems booting from the internal SD slot for me using Puppy 412 etc from the internal SD slot om my EeePC901.
Rgds Mike


Posted on 22 Dec 2009, 17:33 by pakt
Compaq CQ60
This Realtek built-in card reader (0BDA:0158) only shows up here:

# cat /proc/bus/usb/devices

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0158 Rev=58.87
S: Manufacturer=Generic
S: Product=USB2.0-CRW
S: SerialNumber=20071114173400000
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms



Posted on 22 Dec 2009, 17:39 by pakt
Addition: Compaq CQ60
I should add that this Realtek card reader works in Quirky-002. No desktop icon shows when I insert an SD card but pmount does show it.


Posted on 22 Dec 2009, 17:40 by BarryK
SD on EeePC
puppymike,
I did some googling and it seems whatever interface the EeePC uses for the SD card slot, it doesn't need any special driver. Like here:

http://www.linuxforums.org/forum/redhat-fedora-linux-help/140549-need-help-fedora-eee-pc-mmc-sd-drivers.html

DaveS, Sit Heal Speak,
Thanks for the feedback. I think that I have got the 'init' script loading the correct modules for Texas Instruments, Jmicron and many more card interfaces.

While I was poking around in the 'init' script I found that some PCMCIA cards might not get properly detected in the initramfs, only later after the switch_root to the main filesystem -- which means if you had a USB flash drive plugged into a PCMCIA-USB adaptor card and wanted to use it for a 'pupsave' or even to boot from, you couldn't. But that should work now.

Anyone else got a card slot in your laptop that you think is different from the cases reported so far?

Note, while looking around for info on some of the card kernel drivers, I came across this interesting site:

http://hardware4linux.info/module/sdhci-pci/



Posted on 22 Dec 2009, 17:47 by BarryK
Re: Compaq card reader
pakt,
That's strange that you don't get it on the desktop.

If you plug in a card, do you get it appearing in /sys/block? -- that's what Puppy scans to detect new drives and removals.



Posted on 22 Dec 2009, 18:57 by downsouth
USB Flash
I also have an EEE901, and have used an SD card for each of the PUP4xx series. In Gparted, I format the card as FAT32, set the boot flag & choose the USB Flash option. Goes well.


Posted on 22 Dec 2009, 19:52 by oi
memory card boot
eeepc701 4g
can boot puppy431 from internal SSD, internal side mounted inside SD card reader, and also external USB connected memory SD card reader.

can't boot quirky from internal side inside SD card reader> error 13. haven't tried the other locations to boot quirky from.


Posted on 22 Dec 2009, 23:16 by technosaurus
lsusb and lspci in busybox
FYI... busybox GIT now has lsusb, lspci, ntpd and a few other new applets worth testing


Posted on 22 Dec 2009, 24:07 by pakt
Re: Compaq Card reader
Running Quirky-002 from a USB stick, if I check /sys/block/, sda (the hard disk), sdb and sdc (the booted USB stick) show. If I insert an SD card, pmount now shows sdb1 but there is no change in /sys/block/.

Apparently the card reader by itself, ie empty, is detected as sdb and inserting a card doesn't add another device to /sys/block/ :(


Posted on 22 Dec 2009, 24:59 by pakt
Re: Compaq Card reader, more
Did an experiment with an external SD-to-USB adapter. When I plugged the empty adapter in, /sys/block/ showed a new device 'sdd'. Inserting an SD card showed no change in /sys/block but, again, pmount saw the card (sdd1).

These adapters are cheap (less than two US Dollars on eBay). Make sure they can handle SDHC.


Posted on 23 Dec 2009, 2:50 by prehistoric
SD boot on Eee PC 900A
No problem booting standard 4.3.1 from an SD card in internal reader on an ASUS Eee PC 900A. There was a very strange problem with Jemimah's Puppeee 4.3.1. I've sent you a PM on the murga-linux puppy forum because I was able to attach long text files (gzipped) to that.

I had previously experienced problems booting from flash cards in adapters in the PCMCIA slot on my Dell D600. My "disposable laptop" uses a USB flash drive in a USB port, because it has no hard drive. Running off a flash card in the PCMCIA slot would be preferable.




Posted on 23 Dec 2009, 5:19 by paulh
Oddly opposite problem
Acer Aspire One (netbook)
This machine has two SD slots; neither is recognised by Puppy unless booted with the SD card inserted (I have not tried booting from the SD card), and then only one of them is seen. This one is seen as "mmcblk0p1"
If the SD card is inserted after Puppy is booted, it cannot be seen.
I have outputs from modules and scanpci but simply don't have the understanding to interpret them to tell you what you need, and they are too long to post here (apparently max post is 22000 char)


Posted on 23 Dec 2009, 9:29 by Squidy
SD boot on Eee PC 900
Have no problem booting from my eeePC.
Biggest issue is the eeePC itself. You have to switch select the SD card as if it were a HDD to boot off. Normally, I've seen SD or usb devices selected when you chose "removable media" or some such as the boot device.


Posted on 23 Dec 2009, 21:57 by X
quirky bootsfrom sdb1
eeepc701 4g
quirky2 boots from internal SD card where quirky1 gave error 13. pgprs-conect in a console connects.
now to switch that mangy mutt off of the desktop.


Posted on 28 Dec 2009, 24:43 by Ronald
Built-in Card reader
Puppy 4.31 cant detect my sd card.
It didnt show any new icon.
It didnt show any new hardware at PMount.
But when i run scanpci it detect :
pci bus 0x001 cardnum 0x0a function 0x00: vendor 0x1217 device 0x7223
)2 Micro, Inc 0Z711M3/MC3 4-in-1 MemoryCarbBus Controller

pci bus 0x001 cardnum 0x0a function 0x01: vendor 0x1217 device 0x7223
)2 Micro, Inc 0Z711M3/MC3 4-in-1 MemoryCarbBus Controller

pci bus 0x001 cardnum 0x0a function 0x02: vendor 0x1217 device 0x7110
)2 Micro, Inc 0Z711Mx 4-in-1 MemoryCarbBus Accelerator

pci bus 0x001 cardnum 0x0a function 0x03: vendor 0x1217 device 0x7223
)2 Micro, Inc 0Z711M3/MC3 4-in-1 MemoryCarbBus Controller

pci bus 0x001 cardnum 0x0a function 0x04: vendor 0x1217 device 0x7223
)2 Micro, Inc 0Z711M3/MC3 4-in-1 MemoryCarbBus Controller

Wat is the problem?


Posted on 17 Sep 2011, 13:48 by linuxcbon
tifm is big
tifm is 10Mb in kernel/drivers/misc
No other choice ?


Posted on 17 Sep 2011, 14:12 by linuxcbon
error
My mistake, it's 10kb.
How to delete comments here ? It always says "Wrong password".


Posted on 16 Sep 2012, 14:27 by xzyk
Mr
sh-4.1# lspci (only problem listing shown)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)

sh-4.1# elspci -l
03:00.2 020000 10EC:8168 <r8169>
03:00.0 FF0000 10EC:5289 <>
02:00.0 028000 1814:5390 <rt2860>
00:1f.3 0C0500 8086:1E22 <>
00:1f.2 010601 8086:1E03 <ahci>
00:1f.0 060100 8086:1E59 <>
00:1d.0 0C0320 8086:1E26 <ehci_hcd>
00:1c.3 060400 8086:1E16 <pcieport>
00:1c.1 060400 8086:1E12 <pcieport>
00:1c.0 060400 8086:1E10 <pcieport>
00:1b.0 040300 8086:1E20 <>
00:1a.0 0C0320 8086:1E2D <ehci_hcd>
00:16.0 078000 8086:1E3A <>
00:14.0 0C0330 8086:1E31 <>
00:02.0 030000 8086:0116 <>
00:00.0 060000 8086:0104 <>
Windows identifies internal Asus X501A card reader as RTL8411. Investigations led me to rts_bpp module but only found it in a deb format and although it says it's installed ok a 'make' yeilds erros and modprobe shows it as not loaded.


Posted on 17 Sep 2012, 2:41 by xzyk
Mr
EDIT: Got it working, the rts_bpp did the trick but forgot for this distro i needed to download devxs and kernel headers in order to compile. All good now.