Commit Graph

98 Commits

Author SHA1 Message Date
sanpei
805d952343 Fix Scanlogic SL11R usb-ide protocol and quirks
PR:		kern/60389
Submitted by:	Sang Woo Shim <ssw@swoo.org>
2004-01-03 13:52:44 +00:00
sanpei
b758c940c1 Add the MMC commands to umass_atapi_transform. It seems to work
unmodified for ATAPI type devices with ports/sysutils/cdrtools.
(But we need timeout routine which was in kern/58649 for fixate, I think.)

PR:		kern/58649
Submitted by:	SAKIYAMA Nobuo <sakichan@sakichan.org>
2004-01-03 13:30:19 +00:00
sanpei
80731109c9 Add support Panasonic KXL-CB35AN(DVD-ROM & CD-R/RW)
Submitted by:	OISHI Masakuni <yamasa@bsdhouse.org> [FreeBSD-users-jp 77672]
2003-12-19 12:19:12 +00:00
sanpei
5c3fbcd37c Fix PANASONIC KXLCB20AN Protocol.
Submitted by:	OISHI Masakuni <yamasa@bsdhouse.org> [FreeBSD-users-jp 77672]
2003-12-18 19:59:32 +00:00
sanpei
4237ec8437 Add support IBM 256MB USB Drive(MSYSTEM DiskOnKey2)
PR:		kern/57050
Submitted by:	Brian J. McGovern <mcgovern@beta.com>
2003-12-18 08:15:10 +00:00
sanpei
9f57d81652 Add Support
- PNY Attache Flash Drive  [1]
	- minolta 5400 USB scanner [2]

PR:		kern/58045	[1]
		kern/56496	[2]

Submitted by:	[1] Rick C. Petty <rick@kiwi-computer.com>
		[2] Mark Diekhans <markd@kermodei.com>
2003-12-18 05:47:11 +00:00
sanpei
0fc72f7a55 Add support
[1] Logitec LDR-H443U2 DVD-RAM/-R/+R/-RW/+RW Drive
	[2] Panasonic KXL-CB20AN Portable DVD-ROM/CD-R/RW

Submitted by:	[1] Taoka Fumiyoshi <fmysh@iijmio-mail.jp> [bsd-usb:727]
		[2] SHIMIZU Kazuhiro <kazuhiro@shimizu.homeip.net> [FreeBSD-users-jp 77608]
2003-12-17 13:48:58 +00:00
gj
043739a7bb In umass_bbb_get_max_lun() move maxlun to before the DPRINTF so that
the actual number of LUNs is printed.
2003-09-20 08:18:16 +00:00
njl
41ba46ea6e SHUTTLE_INIT quirk for EXATELECOM i-Bead mp3 player 2003-08-22 05:54:57 +00:00
njl
9070d87d20 Remove the 6-10 byte translation from UFI and ATAPI command sets. It is
no longer needed now that we have PIM_NO_6_BYTE.

Requested by:	jhb
2003-08-06 17:19:06 +00:00
njl
1cd634adc1 Add a PATH_INQ flag, PIM_NO_6_BYTE, which indicates the SIM never wishes to
receive 6 byte commands.  Add a check for this flag to da(4) and cd(4) so
that they honor it.  This is a quick workaround for many devices (especially
USB) that require da(4) quirks to operate.  The more complete approach is
to finish the new transport code which will be aware of the SCSI version a
transport implements.

MFC after:	1 day
2003-07-28 06:15:59 +00:00
jmg
f8681630d9 remove \n at end of panic strings. They are added by the call to panic.
This brings us more in line with Net/OpenBSD

Obtained from:	Net/OpenBSD
2003-07-04 23:11:13 +00:00
jmg
4ae39a51c0 WARNING: white space diff
This code reduces the number of trailing white space to be more in line
w/ NetBSD.  I don't regenerate usbdevs, saving that for when it really
changes.
2003-07-04 01:50:39 +00:00
njl
da91abf0c6 Merge common XPT_CALC_GEOMETRY functions into a single convenience function.
Devices below may experience a change in geometry.

* umass(4) drives exactly 1 GB in size now no longer use extended geometry.
2003-06-14 22:40:08 +00:00
njl
03e04e5503 Quirk for Hitachi DVD USB drive. It returns "invalid field in cdb" for
normal INQUIRY requests so enable the NO_INQUIRY quirk.

Submitted by:	Lars Eggert <larse@ISI.EDU>
Approved by:	re (scottl)
2003-05-21 00:22:07 +00:00
njl
10eeb9990b Remove a redundant quirk. Instead, we wildcard all Asahi Optical chips.
Approved by:	re
2003-05-20 18:04:42 +00:00
njl
73765b9ed2 Generalize a quirk for Asahi Optical-based cameras (i.e. Pentax). It appears
all of the Optio series have the same problems.  It might be a better
approach eventually to add wildcard support to USB quirks.

PR:		kern/50271, kern/46369
Approved by:	re (rwatson)
2003-05-15 17:36:22 +00:00
joe
190f2bb71d Extend the digital camera support (umass) to the PENTAX Optio 330GS.
Submitted by:	Jan-Oliver Neumann <neumannj@arcor.de>
By way of:	n_hibma
Approved by:	re (jhb & bmah)
MFC After:	7 days
2003-05-11 23:55:28 +00:00
ticso
57c77ee3ed Use a sim for each device on it's own instead of one for all umass
devices.
This reduces complexity and fixes a number of small problems.

Approved by:	gallatin (mentor)
Reviewed by:	njl
2003-04-14 14:28:17 +00:00
njl
e17741e782 Add code to implement two new USB quirk types: NO_INQUIRY and NO_INQUIRY_EVPD
The former fakes a valid response to an inquiry command.  (I am completely
blown away that there are devices which hang upon receiving inquiry).  The
latter returns "invalid request" to any inquiry commands with EVPD set.
NO_INQUIRY implies NO_INQUIRY_EVPD but not vice versa.  Both quirks have been
tested separately on my USB key although it didn't require either of them.

While I'm here, fix wildcarding so that any/all of vendor, product, revision
can be wildcarded.

Idea from:	Linux
MFC after:	2 weeks
2003-03-25 16:21:09 +00:00
njl
e714ae83be Quirk for Pentax Optio 230 USB camera. Note that other products probably
use the underlying AsahiOptical USB chip and thus this quirk may need to
be generalized in the future.

PR:		kern/46369
Submitted by:	Tim Vanderhoek <vanderh@ecf.utoronto.ca>
MFC After:	3 days
2003-03-11 01:55:11 +00:00
phk
e01fc931cf Centralize the devstat handling for all GEOM disk device drivers
in geom_disk.c.

As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
2003-03-08 08:01:31 +00:00
ken
915501ccb2 Fix ATAPI/USB/Firewire CDROM drive handling in cd(4) and hopefully fix
a number of related problems along the way.

 - Automatically detect CDROM drives that can't handle 6 byte mode
   sense and mode select, and adjust our command size accordingly.
   We have to handle this in the cd(4) driver (where the buffers are
   allocated), since the parameter list length is different for the
   6 and 10 byte mode sense commands.

 - Remove MODE_SENSE and MODE_SELECT translation removed in ATAPICAM
   and in the umass(4) driver, since there's no way for that to work
   properly.

 - Add a quirk entry for CDROM drives that just hang when they get a 6
   byte mode sense or mode select.  The reason for the quirk must be
   documented in a PR, and all quirks must be approved by
   ken@FreeBSD.org.  This is to make sure that we fully understand why
   each quirk is needed.  Once the CAM_NEW_TRAN_CODE is finished, we
   should be able to remove any such quirks, since we'll know what
   protocol the drive speaks (SCSI, ATAPI, etc.) and therefore whether
   we should use 6 or 10 byte mode sense/select commands.

 - Change the way the da(4) handles the no_6_byte sysctl.  There is
   now a per-drive sysctl to set the minimum command size for that
   particular disk.  (Since you could have multiple disks with
   multiple requirements in one system.)

 - Loader tunable support for all the sysctls in the da(4) and cd(4)
   drivers.

 - Add a CDIOCCLOSE ioctl for cd(4) (bde pointed this out a long
   time ago).

 - Add a media validation routine (cdcheckmedia()) to the cd(4)
   driver, to fix some problems bde pointed out a long time ago.  We
   now allow open() to succeed no matter what, but if we don't detect
   valid media, the user can only issue CDIOCCLOSE or CDIOCEJECT
   ioctls.

 - The media validation routine also reads the table of contents off
   the drive.  We use the table of contents to implement the
   CDIOCPLAYTRACKS ioctl using the PLAY AUDIO MSF command.  The
   PLAY AUDIO TRACK INDEX command that we previously used was
   deprecated after SCSI-2.  It works in every SCSI CDROM I've tried,
   but doesn't seem to work on ATAPI CDROM drives.  We still use the
   play audio track index command if we don't have a valid TOC, but
   I suppose it'll fail anyway in that case.

 - Add _len() versions of scsi_mode_sense() and scsi_mode_select() so
   that we can specify the minimum command length.

 - Fix a couple of formatting problems in the sense printing code.

MFC after: 	4 weeks
2003-02-21 06:19:38 +00:00
imp
cf874b345d Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
sanpei
43302434ca Fix `umass0: BBB bulk-in clear stall failed, IOERROR' problem with
some USB devices.  (Make sure to set xfer data length when we force
a short inquiry.)

Obtained from: NetBSD(sys/dev/usb/umass_scsipi.c rev.1.8)
Original idea from: Shingo WATANABE <nabe@nabechan.org>
2003-02-04 13:45:41 +00:00
sanpei
76ea3678a0 Remove duplicated entry
Put the Trek Smart Thumbdrives (8MB model) entry in the right place.
(Entries are sorted by vendor id).
2003-02-04 13:36:32 +00:00
trhodes
d312b9554d Add support for the Trek Thumbdrive 8MB USB Drive.
PR:		46004
Submitted by:	Brian J. McGovern <mcgovern@tick.beta.com> (original version)
2003-01-30 18:33:01 +00:00
alfred
bf8e8a6e8f Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
schweikh
d3367c5f5d Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
dillon
8a34ca48d9 Revert part of the last commit. Do not fake-up the cylinders to make
the sectors fit (at least, don't fake them up any more then they are
already faked up).
2002-12-22 04:46:44 +00:00
dillon
1ce25ddc40 Modify the fake cylinders calculation so it is >= the size of the device,
not < the size of the device.  This avoids geom complaints.

Fix a serious bug in the handling of the RS_NO_CLEAR_UA quirk.  When we
go and insert the test-unit-ready command the umass_cam_quirk_cb() function
sets the status as if the READ_CAPACITY command suceeded when, in fact, it
did not.  This leads to the CAM layer trying to use garbage in the return
buffer and panicing the system (or doing other bad things).

Add a quirk entry for MSYSTEMS DISK-ON-KEY, which is sold under the Sony
brand as a solid state disk-on-key usb device.  This device requires
several quirks to work properly.

Note that the disk-on-key device will not work properly until CAM also
gets a quirk entry for it, which has been submitted to the CAM maintainer,
and you may have to temporarily uncomment the DELAY() as well.  -current
does not properly wait for devices to power up so you may also have
to temporarily uncomment the DELAY(300000) to make your device work.
A solution must be found to that issue.

MFC after:	3 days
X-MFC note:	the quirk support must MFCd before this patch can be
2002-12-20 18:56:55 +00:00
mr
10ff71fdf9 Reviewed by: n_hibma
MFC after:	2 weeks
fix XPT_CALC_GEOMETRY to fill in some reasonable values.
Inspired by aic/sbp.
2002-11-08 07:57:42 +00:00
iedowse
ab4014bff8 Specify the correct protocol for the Olympus C-1 camera. It appears
that this entry was accidentally given the wrong protocol in revision
1.61.

PR:		kern/42417
Submitted by:	"Moriki, Toshiomi" <toshiomi@whi.m-net.ne.jp>
2002-11-01 01:13:20 +00:00
joe
2925e337b8 Use the hw.usb sysctl tree instead of debug.usb.
Requested by:	imp
2002-08-08 12:05:51 +00:00
joe
9f844c45b8 Replace the FOO_DEBUG definitions with USB_DEBUG, and switch the
debugging levels to off by default.  Now that debug levels can be
tweaked by sysctl we don't need to go through hoops to get the
different usb parts to produce debug data.
2002-07-31 14:34:36 +00:00
joe
03e965b480 Get bored with hard coded debug level variables and introduce a debug.usb
sysctl tree for tweaking them real-time.

Reviewed by:	iedowse
2002-07-31 13:33:55 +00:00
n_hibma
4ba977d57f clean up some KASSERTS. 2002-06-17 20:44:37 +00:00
n_hibma
bc70083f07 Rewrite the probe routine. This makes adding drives and quirks more easy.
While there change a few names to less confusing ones.
2002-06-16 20:53:35 +00:00
jhb
e3b656d4d9 Make this compile again when UMASS_DEBUG isn't defined. 2002-04-11 21:09:41 +00:00
n_hibma
7cbe328a88 Delay umass_cam_rescan by 200 ms to make sure attach is finished by the
time we tell CAM to rescan the bus. Together with the previous patch
this should avoid the problem where the devices would wedge because they
got spoken to over two different pipes.

Tested by:	Tomas Pluskal <plusik@pohoda.cz>
2002-04-11 10:34:15 +00:00
n_hibma
e89cc5abdf Postpone I/O to the device until attach has finished. This fixes
attachment after boot in some cases where the device gets confused if
spoken to over two different pipes simultaneously (resulting in TIMEOUT
errors on requesting INQUIRY data).

This solution is far from perfect, as after umass_attach has returned
the USB stack fetches the string descriptors in order for creating the
event that is sent to userland. It just makes the chances of collisions
less likely.

Tested by: 	Tomas Pluskal <plusik@pohoda.cz>
2002-04-10 13:22:12 +00:00
joe
c043732a32 MFNetBSD: Update many URLs. 2002-04-01 21:13:22 +00:00
obrien
0a4d2c0355 Fix warnings on 64-bit hosts. 2002-03-20 18:04:11 +00:00
alfred
3264aec746 Remove __P. 2002-03-20 02:08:01 +00:00
peter
1c2c64421f Fix some gcc-3.1+ warnings:
warning: deprecated use of label at end of compound statement
umass.c:2626:46: multi-line string literals are deprecated
2002-03-19 23:20:21 +00:00
n_hibma
70f9165fee Clean up some debugging output.
Add function to display the CBI command block.
2002-02-19 10:53:25 +00:00
guido
9145fb5456 1) Fix a debug statement by filling in its data before the printf in
stead of after
2) Honour NO_TEST_UNIT_READY quirk for atapi devices as well
3) Actually support FujiFilm FinePix 6800 camera's. Will very likely also
work for other FinePix models.

Based on a debug session about half a year ago with Nik Hibma.
MFC after:	2 weeks
2002-01-24 15:10:53 +00:00
joe
825021e8a0 Staticise a couple of things that shouldn't be leaked into the
kernel namespace.

Submitted by:	msmith
2002-01-08 10:32:33 +00:00
joe
dc37dfab78 Sync usb.h with NetBSD, apart from usb_device_info.speed, which
requires logic changes.  For now leave it as usb_device_info.lowspeed.
It will get addressed when the usb.c code is sync'd.
2002-01-02 20:16:53 +00:00
joe
74053a381a Revert part of the last commit. UIPROTO_MASS_BBB was renamed to
UIPROTO_MASS_BULK _after_ the previous change was made in NetBSD.
2002-01-02 18:36:46 +00:00