unknown commands
Marcus Brinkmann <[email protected]>
| Newsgroups | gmane.comp.audio.netmd.devel |
|---|---|
| Message-ID | <20030103033816.GA1105@ulysses> |
Hi, here is a list of commands we don't understand yet. The first type is a new disc "flag" thingie, which is requested with the type 00 08 instead 00 0a (for title) and two bytes long. It is "80 01" if the wchar option is not enabled and "80 ff" if the wchar option is enabled on my device. If someone with a Japanese model could try to send the sequence or sniff SimpleBurner, and check what these commands returns on that one, that would be nice. Maybe it is for detection if wchar is used or not (in that case, I would expect the replies to be swapped). Maybe it is for something else. The second one is strange, with lots of ff's. Maybe it's a sort of self test or initialization. Reset or so. I saw this at program start and exit. The next group of unknown commands is used to frame some of the commands. This might be used to fine control things like caching or locking. Someone who is interested in that might be able to observe different behaviour (motor activity of the player) when these options are used, who knows. This might be difficult to find out. Maybe the meaning can be extracted from their usage in simpleburner and omg jukebox. Volunteers needed to perform extensive testing. The last group is related to uploading files to the player. There is a whole set of commands. I went through the logs for one file upload, and it was quite interesting. The 0f return code in the first byte is used to signal that the player is ready to receive bulk data. After the bulk data has been sent, the player will finish the command with a 09 reply. There are other issues like preparation and key exchange. This is certainly one of the more complex parts of the protocol, but it doesn't look completely untractable. To fully realize the details we probably need to find out more about the crypto algorithm, though. Unknown 1 ========= => 00 18 06 02 20 18 01 00 00 30 00 08 00 ff 00 00 00 00 00 <= 00 18 06 02 20 18 01 00 00 30 00 08 00 10 00 00 08 00 00 00 06 00 08 00 02 80 01 => 00 18 06 02 20 18 01 00 01 30 00 08 00 ff 00 00 00 00 00 <= 00 18 06 02 20 18 01 00 01 30 00 08 00 10 00 00 08 00 00 00 06 00 08 00 02 80 ff (same for 20 18 02 00 $t and 20 18 03 00 $t) Unknown 2 ========= => 00 ff 01 0c ff ff ff ff ff ff ff ff ff ff ff ff <= 09 ff 01 0c ff ff ff ff ff ff ff ff ff ff ff ff Unknown 3 ========= => 00 18 08 10 10 00 01 00 <= 09 18 08 10 10 00 01 00 Followed by Get Disc Capacity or Get Disc Flags, and then by: => 00 18 08 10 10 00 00 00 <= 09 18 08 10 10 00 00 00 Unknown 4 ========= => 00 18 08 80 00 01 00 <= 09 18 08 80 00 01 00 Followed by Playback Status Type A, and then by: => 00 18 08 80 00 00 00 <= 09 18 08 80 00 00 00 Unknown 5 ========= => 00 18 08 10 18 01 01 00 <= 09 18 08 10 18 01 01 00 Followed by Unknown 1 or Get Disc Title, and then by: => 00 18 08 10 18 01 00 00 <= 09 18 08 10 18 01 00 00 Unknown 6 ========= => 00 18 08 10 10 01 01 00 <= 09 18 08 10 10 01 01 00 Followed by Get Track Count or Get Track Flags, and then by: => 00 18 08 10 10 01 00 00 <= 09 18 08 10 10 01 00 00 Unknown 7 ========= => 00 18 08 10 18 01 03 00 <= 09 18 08 10 18 01 03 00 Followed by a Set Disc Title, and then by => 00 18 08 10 178 01 00 00 <= 09 18 08 10 178 01 00 00 Unknown 8 ========= 00 18 08 10 18 02 00 00 no info Unknown 9 ========= 00 18 00 08 46 f0 03 01 03 XX ff XX XX XX XX XX ... Everything related to writing tracks. -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [email protected] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [email protected] http://www.marcus-brinkmann.de/