site  contact  subhomenews

SD card support at bootup

December 22, 2009 — BarryK
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
> 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:


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


Acer Extensa 4620Z
Username: DaveS
Acer Extensa 4620Z. Includes line: 0f:06. 2 018000 104C:803B <tifm 7xx1>

SD reader on Dell Mini-9
Username: Sit Heel Speek
"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>

Username: puppymike
"No problems booting from the internal SD slot for me using Puppy 412 etc from the internal SD slot om my EeePC901. Rgds Mike

Compaq CQ60
Username: pakt
"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

SD on EeePC
Username: BarryK
"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: 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:

Re: Compaq card reader
Username: BarryK
"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.

memory card boot
Username: oi
"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.

Re: Compaq Card reader
Username: pakt
"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/ :(

Re: Compaq Card reader, more
Username: pakt
"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.

SD boot on Eee PC 900A
Username: prehistoric
"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.

Oddly opposite problem
Username: paulh
"Acer Aspire One (netbook) This machine has two SD slots; neither is recognised by Puppy [b]unless [/b]booted with the SD card inserted (I have not tried booting [i]from[/i] 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)

SD boot on Eee PC 900
Username: Squidy
"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.

quirky bootsfrom sdb1
Username: X
"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.

Built-in Card reader
Username: Ronald
"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?

tifm is big
Username: linuxcbon
"tifm is 10Mb in kernel/drivers/misc No other choice ?

Username: linuxcbon
"My mistake, it's 10kb. How to delete comments here ? It always says "Wrong password".

Username: xzyk
"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.

Tags: puppy