Does this work with the Dacal Power Drive DC-016 (the unit with the DVD-burner) or just the plain versions?
It would be great to have a 100dvd-robot on Linux. ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've looked at your code. The protocoll is trivial.
What would I need to sniff what bytes the driver sends over the wire if I purchase a DC-016?
I don't think the command to send a DVD into the drive will be any more complicated that the
command to eject it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's been a long time ago. I used the windows software on a windows machine to send the code and sniffed it with a windows freeware.
I really can't remember what it was, but, as you said, the protocol was rather trivial, so it was easy to spot.
What may not be trivial is sending the data to the DVD-RW to write or read it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've got a Dacal Powerdrive DC016 in my possession (@Ehv), can connect it to a clean ubuntu pc, so anyone with some references (proof you are capable of using ssh etc) can contact me on MSN (hetepost on hotmail) to log in and run some tests to find out how to control it.
Haven't yet had my close Linux comrades have a look at it, as the device has just arrived this week.
I've seen a VB6 library, provided by Dacal. Anyone know how to use this in Linux? Or will it help in figuring out the usb-data?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've made some USB logs with SnoopyPro (Guess this is the correct app to do this) on Windows with the drive, I have some of the commands logged (initialization, load cd# into device, load cd # into cd drive, etc). I can provide anyone with these files on demand, and will look into the inner workings of USB and Linux myself if I find the time.
If you know anything about how usb works, or have any experience in porting usb software from windows to linux, please contact me.
I'll post anything I find here.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In regard to the DVD-drive-chaining-with-a-hub post,
From what I think, Dacal just passes any data-transfer commands etc to the drive, (usb hub?), however, I've read that there was something special with the 'eject' command: this command is not sent to the drive directly, because then it could be that the caroussel isn't in a stopped-state, or there is no empty slot in front of the drive opening.
There are API files for both the DC-016 and the DC-101/DC-300 avaiable on the Dacal website: http://dacal.com.tw/api.html
During my search, I found some FreeBSD/BSD installation tips for the DC-300 device, and a link to LibCDorganizer, another sourceforge hosted project. ( http://sourceforge.net/projects/libcdorganizer/ ). Still have to check out that forum.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is what I have learned about the DC-016 (called the Ziotek Media Carousel PowerDrive). A hex 0x13 will put a disc into the drive from the carousel. It will also take the disc out of the drive and put it back in a slot. So, if you copy the ejectDevice subroutine, rename it something like mountDevice and replace the line that says
ret = usb_get_descriptor( udevh, USB_DT_STRING, 0x0c, sendstr, strlen(sendstr) );
with
ret = usb_get_descriptor( udevh, USB_DT_STRING, 0x13, sendstr, strlen(sendstr) );
the program will then mount a disc into the DVD-RW drive.
I didn't use a snooper for this, just brute force (kept incrementing until something happened).
If you are using Ubuntu (and probably most other distributions), make sure you run as "root". If you don't have the correct permissions, you can get mislead for hours…..
Now, I am trying to find out how to query the unit to see if a disc is in the drive(but ejected). This seems possible since there is an LED sensor inn front of the drive (and in front of the import slot). Please share any info you might have.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Does this work with the Dacal Power Drive DC-016 (the unit with the DVD-burner) or just the plain versions?
It would be great to have a 100dvd-robot on Linux. ;)
I really have no idea. I don't have such a unit myself, so I can't test it.
I've looked at your code. The protocoll is trivial.
What would I need to sniff what bytes the driver sends over the wire if I purchase a DC-016?
I don't think the command to send a DVD into the drive will be any more complicated that the
command to eject it.
It's been a long time ago. I used the windows software on a windows machine to send the code and sniffed it with a windows freeware.
I really can't remember what it was, but, as you said, the protocol was rather trivial, so it was easy to spot.
What may not be trivial is sending the data to the DVD-RW to write or read it.
As it is a conventional DVD-drive and they need a hub for chaining anyway, I strongly suspect the drive is a separate usb-device.
I've got a Dacal Powerdrive DC016 in my possession (@Ehv), can connect it to a clean ubuntu pc, so anyone with some references (proof you are capable of using ssh etc) can contact me on MSN (hetepost on hotmail) to log in and run some tests to find out how to control it.
Haven't yet had my close Linux comrades have a look at it, as the device has just arrived this week.
I've seen a VB6 library, provided by Dacal. Anyone know how to use this in Linux? Or will it help in figuring out the usb-data?
I've made some USB logs with SnoopyPro (Guess this is the correct app to do this) on Windows with the drive, I have some of the commands logged (initialization, load cd# into device, load cd # into cd drive, etc). I can provide anyone with these files on demand, and will look into the inner workings of USB and Linux myself if I find the time.
If you know anything about how usb works, or have any experience in porting usb software from windows to linux, please contact me.
I'll post anything I find here.
In regard to the DVD-drive-chaining-with-a-hub post,
From what I think, Dacal just passes any data-transfer commands etc to the drive, (usb hub?), however, I've read that there was something special with the 'eject' command: this command is not sent to the drive directly, because then it could be that the caroussel isn't in a stopped-state, or there is no empty slot in front of the drive opening.
There are API files for both the DC-016 and the DC-101/DC-300 avaiable on the Dacal website: http://dacal.com.tw/api.html
During my search, I found some FreeBSD/BSD installation tips for the DC-300 device, and a link to LibCDorganizer, another sourceforge hosted project. ( http://sourceforge.net/projects/libcdorganizer/ ). Still have to check out that forum.
This is what I have learned about the DC-016 (called the Ziotek Media Carousel PowerDrive). A hex 0x13 will put a disc into the drive from the carousel. It will also take the disc out of the drive and put it back in a slot. So, if you copy the ejectDevice subroutine, rename it something like mountDevice and replace the line that says
ret = usb_get_descriptor( udevh, USB_DT_STRING, 0x0c, sendstr, strlen(sendstr) );
with
ret = usb_get_descriptor( udevh, USB_DT_STRING, 0x13, sendstr, strlen(sendstr) );
the program will then mount a disc into the DVD-RW drive.
I didn't use a snooper for this, just brute force (kept incrementing until something happened).
If you are using Ubuntu (and probably most other distributions), make sure you run as "root". If you don't have the correct permissions, you can get mislead for hours…..
Now, I am trying to find out how to query the unit to see if a disc is in the drive(but ejected). This seems possible since there is an LED sensor inn front of the drive (and in front of the import slot). Please share any info you might have.