Raspberry Pi and USB optical drive
Krzysztof Staniorowski (2787) 35 posts |
As far as I know optical drives (at least CD) are supported in RISC OS 5 since its first release for Iyonix grade workstations. Without doing much research (well, CD icon in Configure → Discs should be enough and my LG’s DVDRW being recognized by !USBInfo) I’ve decided to buy oldest USB CD drive I was able to find – it’s Iomega 52×24×52x CDRW only drive (box photo and !USBInfo screenshot). Unfortunately, I wasn’t able to make it work with both 13/10/2015 and 20/10/2015 ROMs (trying to read various data CDs always resulted with error, rebooting with drive connected and configured always resulted with freeze just before loading desktop, on 20/10 ROM even trying to enable drive freezes the computer). Is it possible to make this CD drive work? Or maybe I should buy another one and try again? |
Raik (463) 2061 posts |
I use various internal (with adapter) and external CD/DVD reader and writer. All are working as reader with RISC OS and the writer all are working with CDVDBurn. Also LG (intern and extern). Not all working at the same way. |
Rick Murray (539) 13840 posts |
Maybe really old hardware is not entirely standards compliant? I recall that the first batch of IDE iomega Zip drives used some weird (non-ATAPI) protocol, meaning that not a lot could actually talk to them. Hmm… Do you know of anybody close to you that may have a more recent USB CD drive to see if that can be ‘seen’ by RISC OS? |
Krzysztof Staniorowski (2787) 35 posts |
Not really :( not in the city where I live now
This is really weird, in my experience older (especially late 90s and early 00s) hardware was much more compatible with whatever I wanted to use it.
Well, I bought Iomega drive mostly because these were quite popular. I expected it to be 100% standard compliant.
No problem because most of the time drive will be disconnected anyway (mostly to get rid of its 36W power usage).
Should I expect filer to hang? Why should I wait for spindown to use the drive? |
Raik (463) 2061 posts |
I have no answer but two drives I have need waiting. After I take a CD inside there is a high spinning. If I click the CD icon the filer hangs or I become a drive empty error. If I wait until the low spinning, sorry not spindown, all things fine. If it is working, it switch automaticly to a high spinning. Sorry, I found no better words. |
David Feugey (2125) 2709 posts |
Not really. It’s more hardware drivers that are more adapted to old hardware than old devices that are more compatible with standards :) |
Chris Mahoney (1684) 2165 posts |
Indeed. There is a story in the book “The Old New Thing” (which is about the development of Windows) that describes “phantom drives” due to a non-standards-compliant CD-ROM controller. The relevant standard allowed a controller to support up to four drives, so each command sent to the controller included a parameter containing the drive number. This particular controller could only handle a single drive so the manufacturer decided to completely ignore the drive number and just send everything to the single drive. This worked in Windows 3.1 with its manually-configured CD-ROM drives. Fast-forward to Windows 95, which sees the controller, sends four “is there a drive connected?” messages (one for each drive number)… and gets four “yes” responses back. Cue four CD-ROM drives appearing in Explorer despite only one actually existing. |
Jeffrey Lee (213) 6048 posts |
CD drives have been supported by RISC OS for decades – mainly via the IDE/ATAPI driver, which has been a standard part of the OS since the RiscPC. USB CD drive support is a relatively new thing (only 2-3 years old), and uses a different driver to the old ATAPI one. So unfortunately there are some bugs, and there are some drives which will work fine with the ATAPI driver but not with the USB one (and probably vice-versa). |
Krzysztof Staniorowski (2787) 35 posts |
Is there at least one specific drive that will work correctly over USB or should I simply accept that it doesn’t work (and eventually think about buying better RISC OS machine than my RPi is)? I don’t care about writing discs, I don’t care about DVD (even read-only). |
Steffen Huber (91) 1953 posts |
Plain CD reading (single session, single track) should work with nearly every drive. Do you have CDVDBurn available? Does its “Extract Track” feature work? Which RISC OS machine you use is really irrelevant, unless there is a low-level USB incompatibility – not heard about that for mass-storage devices wrt the RPi. Is the drive behind a hub? Does it work on a non-RISC OS machine? |
Chris Hall (132) 3554 posts |
CDVDBurn for me fails looking for Iyonix IDE drive on a Pandaboard or ARMX6. |
Raik (463) 2061 posts |
I have try IDE and SATA drives with a adapter on Beagle(xM), Panda, Pi and ARMX6 all are working and the CDVDBurn “Extract Track” feature works also with non OS working drives. |
Krzysztof Staniorowski (2787) 35 posts |
No and I’m not going to buy it in near future.
Yes, with scanner (Epson 1650) and 32Gb flash drive (RPi set to provide 1200mA power but everything should work on default settings too).
Yes, of course (on Windows 8.1 this drive reads and burns, it’s behind identical USB hub) |
Steffen Huber (91) 1953 posts |
Is the drive recognised as a device by CDFS? Try |
Chris Hall (132) 3554 posts |
CDVDBurn for me fails looking for Iyonix IDE drive on a Pandaboard or ARMX6. Swift reply from Steffen with advice and upgrade instructions. Service! |
Kevin Corney (454) 41 posts |
So did you get in touch with Steffen via his website? And is it possible to pass on the advice and instructions you were given? |
Chris Hall (132) 3554 posts |
I got in touch by email. The advice was to upgrade (following the instructions on his website and the ReadMe file inside the ‘update’ application inside CDVDBurn) and to change the item=yes to item=no in the ‘settings’ file for each item except scanSCSI and scanCDFS. Haven’t tested it as I am waiting for a USB to SATA lead to connect the CD drive to try it. |
Krzysztof Staniorowski (2787) 35 posts |
Yes it is (screenshot). |
Steffen Huber (91) 1953 posts |
OK, maybe we are getting there…could you insert a data CD, wait until the device has mounted it, and check if the “Capacity” is correctly recognized? |
Krzysztof Staniorowski (2787) 35 posts |
Fortunately it is correct (screenshot). |
Steffen Huber (91) 1953 posts |
OK, so the drive is correctly answering some commands (Inquiry, and GetCapacity). I will prepare some test code to find out what does not work. |
Chris Hall (132) 3554 posts |
OK, so the drive is correctly answering some commands (Inquiry, and GetCapacity) I have a CD drive connected by a £2.60 USB to SATA connector to my ARMX6 and it shows under !CDVDBurn 2.02b (27-02-2007) as a CD reader, see
but does not show up as a CD writer. However under CDVDBurn 2.09s (22-Sep-2010) I can configure it as read and write. Same devices output as above. Burnt a 152Mbyte CD in 100s, a further 40s to fixate and all done. Excellent. At first I had connected the DVD drive to the USB OTG socket and could get no joy. Once I connected it to my USB hub (unpowered) all was well. Now I have 514397 files in 1017 folders, 2.06Gbytes (3.22Gbytes on disc) to try to burn to a DVD. Will let you know how I get on. |
Krzysztof Staniorowski (2787) 35 posts |
Thanks :)
In my case it doesn’t work as expected regardless of connection method (directly or via unpowered hub). |
Krzysztof Staniorowski (2787) 35 posts |
bump |