1b3d94504SStephan Aßmus#
2b3d94504SStephan Aßmus# This file is a part of BeOS USB SCSI interface module project.
3b3d94504SStephan Aßmus# Copyright (c) 2003-2004 by Siarzhuk Zharski <imker@gmx.li>
4b3d94504SStephan Aßmus#
5b3d94504SStephan Aßmus# This file may be used under the terms of the BSD License
6b3d94504SStephan Aßmus# See the file "License" for details.
7b3d94504SStephan Aßmus#
8b3d94504SStephan Aßmus#1) Correct handling of FORMAT_UNIT command
9b3d94504SStephan Aßmus#2) Correct handling of SCSI return codes
10b3d94504SStephan Aßmus#3) Locking of trace file should be not so "hard"
11b3d94504SStephan Aßmus4)(????)Correct locking of driver entry in xpt_scsi_io
12b3d94504SStephan Aßmus#5) Use USB stack 2.0 ? 
13b3d94504SStephan Aßmus6)(???) Hang problem with DriveSetup #reproduced on clean system without SCSI...
14b3d94504SStephan Aßmus#7) Support of CBI protocol
15b3d94504SStephan Aßmus#8) Support of FREECOM protocol
16b3d94504SStephan Aßmus#9) Support of read-only forcing (fyysik asks)
17b3d94504SStephan Aßmus#10) Make reservation of devices more flexible (can switch it off). 
18b3d94504SStephan Aßmus#11) Transfer should be build on callback ideology
19b3d94504SStephan Aßmus#12) Timeouts should be more adequate
20b3d94504SStephan Aßmus13) Review RBC transform against specs
21b3d94504SStephan Aßmus14) Review QIC-157 transform against specs
22b3d94504SStephan Aßmus#15) Make HBA SCSI ID configurable
23b3d94504SStephan Aßmus#16) Think on possibility to use "one.dev <-> one.path" scheme
24b3d94504SStephan Aßmus#17) Set cam_scsi_status correctly on return!
25b3d94504SStephan Aßmus#18) Support of autosense on fake devices
26b3d94504SStephan Aßmus#-INVALID-19)Locking for fake devices too
27b3d94504SStephan Aßmus#20) What with write-protected devices?
28b3d94504SStephan Aßmus#21) Some kind of investigation - try to return CHECK_CONDITION in case of zero autosense_len - will system resend this command with non-zero autosense len?
29b3d94504SStephan Aßmus#22) mode sense data for 10-byte translated command. Wait for test results. Probably will be not required at all.
30b3d94504SStephan Aßmus#23) implement protocols as modules
31b3d94504SStephan Aßmus#24) Some kind of automatic detection if 6-byte READ/WRITE and MODE SELECT/SENSE commands supported.
32b3d94504SStephan Aßmus#25) Do not let MODE_SENSE go to NOT READY LUNs. It can "kill" the hardware
33b3d94504SStephan Aßmus#26) Replace the write/read to fwrite/fread in tracing daemon (fyysik's request)
34b3d94504SStephan Aßmus27)(???) Looks like system ignores our CHECK_CONDITION (for example on handling 1e, 1b, 2a). Is it our problem?
35b3d94504SStephan Aßmus#-INVALID-28) Clean-up the data buffer before MODE_SENSE request ....
36b3d94504SStephan Aßmus#29) Problem with synchronize cache command (see BePage's log)
37b3d94504SStephan Aßmus#30) Try to workaround R5+patches=KDL problem. Ignore calls from 'sysinit2'? 
38b3d94504SStephan Aßmus31) Work with NewFS Tracker and it's derivatives. There are lot of problems with that mad software.
39b3d94504SStephan Aßmus#32) deactivate automatic READ(10)->READ(6) switching. Looks like it's makes more problems than solves.
40b3d94504SStephan Aßmus#33) Are we really need private protocol buffer ? Try to remove this and use stack allocated objects.
41b3d94504SStephan Aßmus#34) Tracing in protocols implementations should be more generic ...
42b3d94504SStephan Aßmus#35) overwrite tracing ...
43b3d94504SStephan Aßmus36) Handle FORMAT_UNIT for UFI devices.
44b3d94504SStephan Aßmus#37) Locking of global devices table
45b3d94504SStephan Aßmus#38) Locking of device_removed - avoid removing during handling xpt_scsi_io
46b3d94504SStephan Aßmus39) Device mounted than unplugged.It stay mounted but doesn't work and get the garbage in "opened" files. Are there solutions?
47b3d94504SStephan Aßmus#40) open log file in /var/log/ instead of home directory 
48b3d94504SStephan Aßmus#41) More correct work with MODE_SENSE/MODE_SELECT convertions ...
49b3d94504SStephan Aßmus#42) debug output settings should be used in protocol extensions too ...
50b3d94504SStephan Aßmus#-INVALID!-43) What with sense data? should it be reorganized as MODE_SENSE/MODE_SELECT one?
51b3d94504SStephan Aßmus44) Fix possible problem with READ_CAPACITY command. Some cameras produce "Generic OS Error" during mounting.
52b3d94504SStephan Aßmus#45) Some Minolta cameras have nulified semaphore after creation. :-( )
53b3d94504SStephan Aßmus#46) Add "invalid" devices entries. Check your mailing for information. 
54b3d94504SStephan Aßmus#-DUPLICATE-47) A word about disabling Zeta's modules in manual.
55b3d94504SStephan Aßmus#48) Handle all TODOs in ReadMe.html before releasing RC-1.
56b3d94504SStephan Aßmus#49) Handling 0xA1 (Blank) command for C/DVD-RW devices. Should be like FORMAT UNIT?
57b3d94504SStephan Aßmus#-CDBurner's problem-50) Problems with 35h SYNCHRONIZE_CACHE command with CDBurner on FREECOM module.
58b3d94504SStephan Aßmus#-Problems in current BeOS USB stack- 51) Support for DATAFAB extention
59b3d94504SStephan Aßmus#-INVALID-52)Some kind of reset required for FREECOM. Test it until this MODE_SELECT is not working!
60b3d94504SStephan Aßmus#51) problem with SCSIProbe
61b3d94504SStephan Aßmus#52) Support for Siemens MP3 Player
62b3d94504SStephan Aßmus#53) Stess tests for floppy
63b3d94504SStephan Aßmus54) Handling of transfer timeout should be refactored.
64b3d94504SStephan Aßmus55) Tracing Mode_sense/mode_select data for all case if configured - not only for converting!
65b3d94504SStephan Aßmus#56) Are there problems with simultaneous tracing to log file and system log? Check!
66b3d94504SStephan Aßmus57) Write a ReadMe.html for FREECOM module and make distribution support for it.
67b3d94504SStephan Aßmus#58) Add tracing for READ_CAPACITY results
68b3d94504SStephan Aßmus59) Check again MODE_SENSE/MODE_SELECT pages translations... MYOB has some problems...
69