The FreeBSD Diary

The FreeBSD Diary (TM)

Providing practical examples since 1998

If you buy from Amazon USA, please support us by using this link.
[ HOME | TOPICS | INDEX | WEB RESOURCES | BOOKS | CONTRIBUTE | SEARCH | FEEDBACK | FAQ | FORUMS ]

Things look quiet here. But I've been doing a lot of blogging at dan.langille.org because I prefer WordPress now. Not all my posts there are FreeBSD related. I am in the midst of migrating The FreeBSD Diary over to WordPress (and you can read about that here). Once the migration is completed, I'll move the FreeBSD posts into the new FreeBSD Diary website.

Card reader for FreeBSD 10 April 2006
Share
Need more help on this topic? Click here
This article has 2 comments
Show me similar articles

When I first heard of a card reader, I thought of business cards. I imagined a device that took business cards and digitized them so you could save contact information. Yes, such tools exist, but the card reader in question is actually a memory card reader. A very common use of this tool is to take a memory card from a digital camera and read it into your computer. I have two such devices. One I've had for year or so, and the other one is a recent acquistion.

I bought a second card reader just recently in order to get the pictures off the kids' camera. Their cameras take an XD meory chip. My original card reader was a USB 2.0 7-in-1 device. It can handle the following types of cards:

  1. CF
  2. MD
  3. SD
  4. MMC
  5. MS
  6. MSpro
  7. SM

Most cameras come with a cable that allows you to connect to a USB connection. Kids being kids, they can't find the cable, which, as luck would have it, is not a standard USB cable. That's another reason why a card reader is handy.

While I was able to use this card reader under NT, FreeBSD 4, 5, and 6, it would not handle the XD cards.

The new device, which I got at Staples, is from SanDisk. It's an ImageMate 12 in 1, model number SDD3-89 V3, part number 20-90-30329. It can take the following cards:

  1. Memory Stick Duo
  2. Mmeory Stick PRO
  3. Mmeory Stick PRO Duo
  4. Compact Flash I
  5. Compact Flash II
  6. SD
  7. miniSD
  8. MultilMediaCard
  9. MMCplus
  10. MMCmobile
  11. RS-MMC
  12. RSMMC Dual Voltage
  13. SmartMedia
  14. xD
  15. xD Type M

The unit comes with an optional docking station. You don't have to use it, and the card reader also comes with a short USB cables just right for plugging directly into a laptop. Everything is powered from the USB connection; you do not need an external power supply for it.

docking station front back

The SanDisk unit worked every time I used it. No problems at all, under both FreeBSD 6 and Windows XP. Including with the card reader is some Windows software to use the one-touch button. I have not installed that.

Under FreeBSD 6, here is an extract from /var/log/messages when the card reader is connected and it contains an xD memory card. The device that represents the memory card is in bold.

umass0: SanDisk ImageMate 14 in 1 Reader/Writer, rev 2.00/93.21, addr 2 
da0 at umass-sim0 bus 0 target 0 lun 0 
da0:  Removable Direct Access SCSI-0 device  
da0: 40.000MB/s transfers 
da0: 15MB (32000 512 byte sectors: 64H 32S/T 15C) 
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0  
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error 
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition 
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0 
(da0:umass-sim0:0:0:0): Medium not present 
(da0:umass-sim0:0:0:0): Unretryable error 
Opened disk da0 -> 6 
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0  
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error 
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition 
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0 
(da0:umass-sim0:0:0:0): Medium not present 
(da0:umass-sim0:0:0:0): Unretryable error 
Opened disk da0 -> 6 
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0  
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error 
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition 
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0 
(da0:umass-sim0:0:0:0): Medium not present 
(da0:umass-sim0:0:0:0): Unretryable error 
Opened disk da0 -> 6 
da1 at umass-sim0 bus 0 target 0 lun 1 
da1:  Removable Direct Access SCSI-0 device  
da1: 40.000MB/s transfers 
da1: 15MB (32000 512 byte sectors: 64H 32S/T 15C) 
da2 at umass-sim0 bus 0 target 0 lun 2 
da2:  Removable Direct Access SCSI-0 device  
da2: 40.000MB/s transfers 
da2: Attempt to query device size failed: NOT READY, Medium not present 
da3 at umass-sim0 bus 0 target 0 lun 3 
da3:  Removable Direct Access SCSI-0 device  
da3: 40.000MB/s transfers 
da3: Attempt to query device size failed: NOT READY, Medium not present 
(da2:umass-sim0:0:0:2): READ CAPACITY. CDB: 25 40 0 0 0 0 0 0 0 0  
(da2:umass-sim0:0:0:2): CAM Status: SCSI Status Error 
(da2:umass-sim0:0:0:2): SCSI Status: Check Condition 
(da2:umass-sim0:0:0:2): NOT READY asc:3a,0 
(da2:umass-sim0:0:0:2): Medium not present 
(da2:umass-sim0:0:0:2): Unretryable error 
Opened disk da2 -> 6 
(da2:umass-sim0:0:0:2): READ CAPACITY. CDB: 25 40 0 0 0 0 0 0 0 0  
(da2:umass-sim0:0:0:2): CAM Status: SCSI Status Error 
(da2:umass-sim0:0:0:2): SCSI Status: Check Condition 
(da2:umass-sim0:0:0:2): NOT READY asc:3a,0 
(da2:umass-sim0:0:0:2): Medium not present 
(da2:umass-sim0:0:0:2): Unretryable error 
Opened disk da2 -> 6 
(da2:umass-sim0:0:0:2): READ CAPACITY. CDB: 25 40 0 0 0 0 0 0 0 0  
(da2:umass-sim0:0:0:2): CAM Status: SCSI Status Error 
(da2:umass-sim0:0:0:2): SCSI Status: Check Condition 
(da2:umass-sim0:0:0:2): NOT READY asc:3a,0 
(da2:umass-sim0:0:0:2): Medium not present 
(da2:umass-sim0:0:0:2): Unretryable error 
Opened disk da2 -> 6 
(da3:umass-sim0:0:0:3): READ CAPACITY. CDB: 25 60 0 0 0 0 0 0 0 0  
(da3:umass-sim0:0:0:3): CAM Status: SCSI Status Error 
(da3:umass-sim0:0:0:3): SCSI Status: Check Condition 
(da3:umass-sim0:0:0:3): NOT READY asc:3a,0 
(da3:umass-sim0:0:0:3): Medium not present 
(da3:umass-sim0:0:0:3): Unretryable error 
Opened disk da3 -> 6 
(da3:umass-sim0:0:0:3): READ CAPACITY. CDB: 25 60 0 0 0 0 0 0 0 0  
(da3:umass-sim0:0:0:3): CAM Status: SCSI Status Error 
(da3:umass-sim0:0:0:3): SCSI Status: Check Condition 
(da3:umass-sim0:0:0:3): NOT READY asc:3a,0 
(da3:umass-sim0:0:0:3): Medium not present 
(da3:umass-sim0:0:0:3): Unretryable error 
Opened disk da3 -> 6 
(da3:umass-sim0:0:0:3): READ CAPACITY. CDB: 25 60 0 0 0 0 0 0 0 0  
(da3:umass-sim0:0:0:3): CAM Status: SCSI Status Error 
(da3:umass-sim0:0:0:3): SCSI Status: Check Condition 
(da3:umass-sim0:0:0:3): NOT READY asc:3a,0 
(da3:umass-sim0:0:0:3): Medium not present 
(da3:umass-sim0:0:0:3): Unretryable error 
Opened disk da3 -> 6

To access the memory card, you need to mount the device. To FreeBSD, this memory card appears as a SCSI device.

# mount_msdosfs /dev/da1s1 /mnt

Make sure that /mnt exists before you issue this command.

Most cameras use a FAT file system, and that is why I used mount_msdosfs above.

The memory stick is now just another filesystem according to your FreeBSD system:

# df
Filesystem  1K-blocks    Used   Avail Capacity  Mounted on
/dev/ad0s2a    507630  102034  364986    22%    /
devfs               1       1       0   100%    /dev
/dev/ad0s2e    507630      72  466948     0%    /tmp
/dev/ad0s2f  15709014 6505554 7946740    45%    /usr
/dev/ad0s2d   1254862  282386  872088    24%    /var
/dev/da1s1      16000   15744     256    98%    /mnt

Here's a look around that memory stick:

# cd /mnt 
# ls 
dcim 
# cd dcim 
# ls 
100_fuji 
# cd 100_fuji 
# ls 
dscf0001.jpg    dscf0048.avi    dscf0091.jpg 
dscf0002.jpg    dscf0049.avi    dscf0092.jpg 
dscf0003.jpg    dscf0081.jpg    dscf0093.jpg 
dscf0030.jpg    dscf0082.jpg    dscf0117.jpg 
dscf0046.jpg    dscf0086.jpg    dscf0118.avi 
#

Now you can copy files around, just as you would on any other disk:

# mkdir ~/my-photos 
# cd ~/my-photos 
# cp /mnt/dcim/100_fuji/* . 
# ls 
dscf0001.jpg    dscf0048.avi    dscf0091.jpg 
dscf0002.jpg    dscf0049.avi    dscf0092.jpg 
dscf0003.jpg    dscf0081.jpg    dscf0093.jpg 
dscf0030.jpg    dscf0082.jpg    dscf0117.jpg 
dscf0046.jpg    dscf0086.jpg    dscf0118.avi 
#

Always remember to unmount the filesystem before you disconnect the USB device, or remove the memory stick from the card reader. Failure to do this may result in a corrupted filesystem.

# umount /mnt

Nice addition

This SanDisk card is a nice addition to my laptop bag. It has proven useful already, just for being able to get the photos off the kids' cameras. I'm glad I bought it.

Share
Need more help on this topic? Click here
This article has 2 comments
Show me similar articles