Subject: kern/9140: Another PCMCIA IDE device
To: None <gnats-bugs@gnats.netbsd.org>
From: Brad Spencer <brad@anduin.eldar.org>
List: netbsd-bugs
Date: 01/08/2000 03:49:25
>Number:         9140
>Category:       kern
>Synopsis:       Another PCMCIA IDE device
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Jan  7 14:18:01 2000
>Last-Modified:
>Originator:     Brad Spencer
>Organization:
	Sitting at home
>Release:        Mid December 1999
>Environment:
	
System: NetBSD treebeard 1.4P NetBSD 1.4P (TOSHIBA) #7: Mon Jan  3 20:18:31 EST 2000     brad@treebeard:/usr/src/sys/arch/i386/compile/TOSHIBA i386


>Description:

This is an enhancement request to add another CIS identification for
another PCMCIA IDE controller.  I have little information about this
device, except that it was used on an external DVD-ROM that I was
borrowing for a while.

Note: this device suffers from an unhandled quirk.  The drive must be
accessed before it is powered.  This leads to a chicken and egg type
problem, because there is a several second resting time required after
the power is applied.  During this resting time, the drive will not be
ready.  The work around for this is to do:

	(sleep 40000 < /dev/rcdXd)

while accessing the device.  Mounting the device appears to also hold
its power on.  Of course, you have to do the above work around before
the mount will work.


Aside from the above quirk, the device seems to work fine.  Even
inserting and removing the PCMCIA card appears to function, as long as
no other process has the device open.

>How-To-Repeat:

Get a DVD-ROM with a EXP Computer Inc. PCMCIA controller on it.

>Fix:

Here are two diffs.  One against sys/dev/pcmcia/pcmciadevs and another
against sys/dev/pcmcia/wdc_pcmcia.c.  A 'make -f Makefile.pcmciadevs'
will also need to be done.

-- diff 1 --

*** pcmciadevs	Mon Dec  6 07:26:29 1999
--- ../pcmcia/pcmciadevs	Mon Jan  3 19:36:41 2000
***************
*** 193,198 ****
--- 193,199 ----
  vendor SVEC			-1	SVEC/Hawking Technology
  vendor AMBICOM			-1	AmbiCom Inc
  vendor EPSON			-1	Seiko Epson Corporation
+ vendor EXP			-1	EXP Computer Inc
  
  product MEGAHERTZ XJ2288 	{ "MEGAHERTZ", "MODEM&spXJ2288", NULL, NULL } Megahertz XJ2288 Modem
  product PREMAX PE200		{ "PMX&sp&sp&sp", "PE-200", NULL, NULL } PreMax PE-200
***************
*** 218,220 ****
--- 219,222 ----
  product AMBICOM AMB8002T	{ "AmbiCom&spInc", "AMB8002T", NULL, NULL } AmbiCom AMB8002T
  product IODATA PCLAT		{ "I-O&spDATA", "PCLA", "ETHERNET", NULL } IO-DATA PCLA/T
  product EPSON EEN10B		{ "Seiko&spEpson&spCorp.", "Ethernet", "P/N:&spEEN10B&spRev.&sp00", NULL } Epson EEN10B
+ product EXP EXPMULTIMEDIA	{ "EXP&sp&sp&sp", "PnPIDE", "F1", NULL } EXP IDE/ATAPI DVD Card


-- diff 2 --

*** wdc_pcmcia.c	Sat Nov 27 07:20:19 1999
--- ../pcmcia/wdc_pcmcia.c	Mon Jan  3 20:18:04 2000
***************
*** 125,130 ****
--- 125,137 ----
  	  PCMCIA_CIS_TEAC_IDECARDII,
  	  PCMCIA_STR_TEAC_IDECARDII },
  
+ 	/* EXP IDE/ATAPI DVD Card use with some DVD players.  Does not have a vendor ID or product ID */
+ 	{ -1,
+ 	  -1,
+ 	  0,
+ 	  PCMCIA_CIS_EXP_EXPMULTIMEDIA,
+ 	  PCMCIA_STR_EXP_EXPMULTIMEDIA },
+ 
  	/* Mobile Dock 2, which doesn't have vendor ID nor product ID */
  	{ -1, -1, 0,
  	  { "SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", NULL, NULL},
>Audit-Trail:
>Unformatted: