Menu

Power Drive DC-016

Help
2009-03-12
2013-04-02
  • Marcus Wolschon

    Marcus Wolschon - 2009-03-12

    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. ;)

     
    • Steven van de Beek

      I really have no idea. I don't have such a unit myself, so I can't test it.

       
      • Marcus Wolschon

        Marcus Wolschon - 2009-03-12

        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.

         
        • Steven van de Beek

          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.

           
          • Marcus Wolschon

            Marcus Wolschon - 2009-03-12

            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.

             
            • JoepBakker

              JoepBakker - 2009-07-12

              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?

               
    • JoepBakker

      JoepBakker - 2009-07-13

      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.

       
    • JoepBakker

      JoepBakker - 2009-07-13

      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.

       
  • Timothy Sesow

    Timothy Sesow - 2009-10-02

    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.

     

Log in to post a comment.