Opened 11 years ago

Closed 9 years ago

#3158 closed bug (fixed)

USB Card Reader (VIA Technologies) does not work under Haiku, works partially under Zeta

Reported by: tigerdog Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/USB Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Combination floppy/card reader built into CPU case. Card reader reports as VIA Technologies Inc vendor ID 0x040d, product ID 0x6205. Connects through internal USB cable to header on motherboard.

This card reader does not work at all under Haiku.
Under BeOS or Zeta (using USB Storage Module from BeBits), the 1st slot works, 2nd slot does not.
Under Windows and Linux, both slots work fine.

This particular chipset has a known, documented, fixed bug under Linux. A patch to the Linux kernel driver was needed:

/* Patch submitted by Mihnea-Costin Grigore <mihnea@zulu.ro> */
UNUSUAL_DEV(  0x040d, 0x6205, 0x0003, 0x0003,
		"VIA Technologies Inc.",
		"USB 2.0 Card Reader",
		US_SC_DEVICE, US_PR_DEVICE, NULL,
		US_FL_IGNORE_RESIDUE ),


Not sure if Haiku shares Linux code, but maybe this will be helpful. I will also attach excerpts from the syslog file showing the failed device initialization at boot, also ongoing messages that fill the log file.

Attachments (5)

USBSCSI_failure_on_card_reader (1.7 KB ) - added by tigerdog 11 years ago.
syslog excerpts from bootup and while running
USBSCSI_00_Boot_cards_in_both_slots (79.4 KB ) - added by tigerdog 11 years ago.
Boot syslog with CF card in 1st slot, SD card in 2nd slot. Neither could be mounted once system booted.
USBSCSI_01_boot_NoCards (78.9 KB ) - added by tigerdog 11 years ago.
Boot syslog with no cards in slots
USBSCSI_02_SDCardInSlot2 (2.3 KB ) - added by tigerdog 11 years ago.
Inserted SD card in slot 2
USBSCSI_03_RemovedSDCard (1.9 KB ) - added by tigerdog 11 years ago.
Removed SD card. Card never showed up in Tracker mount list.

Download all attachments as: .zip

Change History (12)

by tigerdog, 11 years ago

syslog excerpts from bootup and while running

comment:1 by mmlr, 11 years ago

Status: newassigned

Those messages are harmless, they just indicate that the device doesn't support the TEST_UNIT_READY SCSI command. It repeats all the time because it's used in the media polling loop. That shouldn't affect the general device operation except for media change events that could go unnoticed. Can you try booting with a media already present and check the output again? Can you also provide logs of when inserting a medium at runtime?

Nothing of Haiku USB shares code with linux (that'd be a licensing problem anyway), but the implementation of the different parts are generally less strict than under linux. This means that many of the technical errors will not be detected at all and then don't need a workaround/quirk/blacklist entry.

by tigerdog, 11 years ago

Boot syslog with CF card in 1st slot, SD card in 2nd slot. Neither could be mounted once system booted.

by tigerdog, 11 years ago

Attachment: USBSCSI_01_boot_NoCards added

Boot syslog with no cards in slots

by tigerdog, 11 years ago

Attachment: USBSCSI_02_SDCardInSlot2 added

Inserted SD card in slot 2

by tigerdog, 11 years ago

Attachment: USBSCSI_03_RemovedSDCard added

Removed SD card. Card never showed up in Tracker mount list.

comment:2 by tigerdog, 11 years ago

I performed a few more tests. First, I booted Xubuntu with cards in both slots; volumes were available on ubuntu desktop and could be opened and read. I then booted Haiku. Cards could not be mounted or read. Then removed both cards, booted Haiku. Inserted SD card in 2nd slot. Card couldn't be mounted. Removed card.

I then inserted a different SD card. Same result. Opened Drivesetup, tried to format SD card as BFS. System went into KDL.

I'll try to hook up a serial debug connection and capture debug output.

comment:3 by tigerdog, 11 years ago

As I looked through the syslog, it seems the system could not recognize the format of the card (FAT32). I reformatted the card as FAT16 under Windoz but the card is still not visible. Sorry I have not yet provided the serial debug output. I'm lacking a cable ATM.

comment:4 by mmlr, 11 years ago

It seems that the device itself is detected correctly but the filesystem on it is not recognized. Can you retry with a current revision and see if the problem is still there? At least KDLs should now be fixed.

comment:5 by tigerdog, 11 years ago

I've been away from Haiku for a few weeks, so it's about time I load one the latest. I'll try to test this over the next day or two.

comment:6 by mmlr, 10 years ago

Any update on this? From reading through it again this seems to be a filesystem problem and not one of the actual device not being detected. Please check if the device shows up in DriveSetup for example. If it does and also shows the correct size then I'd like to close this one as the device works as expected and suggest to open a new bug report for the filesystem detection problem.

comment:7 by mmlr, 9 years ago

Resolution: fixed
Status: in-progressclosed

Closing as there's no further info. The device works as expected. If the filesystem problem persists, please open a new ticket for that.

Note: See TracTickets for help on using tickets.