User Tools

Site Tools


This is an old revision of the document!



There are several orphanend open-source projects aiming to support NetMD Walkman devices under Linux, namely:

Official Specs and Patents

The NetMD protocol is based on the AV/C Digital Interface Command Set, an 1394 TA specification:

Here is an older document by the TradeAssociation:

  • The Sony patent US7437770 describes in details the entire communication between a NetMD device and a PC starting with the exclusive login and retrieving of the track titles. The data exchange commands are shown in the form control/response frames (Figures 33-49). It's quite easy to understand the stuff, especially by working in conjuction with the AV/C documents mentioned above.
  • Loading files on the MiniDisc Player, in particular the role of the EKB, is described in the US Patent 7228568 (retrieved via, which contains some hilariously bad cryptography (and is in any other way utterly trivial). This answers many, but not all, questions about the file transfer logs.
  • YAP: US Patent 7362870. Also noteworthy may be US Patent 20050246286, which seems to document how OpenJukeBox manages licenses.

Other Information

The EKB-Format

The EKB format is mostly revealed now. There is now a Dump EKB tool that can be used to display EKB files. Here is an example output (the unique keys have been blacked out):

$ ./ 00010001.ekb
EKB  00010001.ekb
Unknown 1/2:  0x1 0x1
Reserved:     0x0
Unknown 3:    0ff4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Tag Length:   0x1c
Data Length:  0x130
Sig Length:   0x134
Tags:         xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Data:         bf71xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K000000000,KR)
              01caxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K000000010,KR)
              2c4bxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000110,KR)
              a8ecxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100000,K0000000110)
              7d5bxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100001,K0000000110)
              e721xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100010,K0000000110)
              24aaxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100011,K0000000110)
              e664xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100100,K0000000110)
              be2dxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100101,K0000000110)
              846axxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100110,K0000000110)
              5695xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000001100111,K0000000110)
              792exxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000000100000000,KR)
              0679xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001010,KR)
              3ebexxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001100,KR)
              5649xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000001110,KR)
              9913xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010000,KR)
              ac8cxxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010010,KR)
              dd10xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K0000000010000010100,KR)
              d0c9xxxxxxxxxxxxxxxxxxxxxxxxxxxx Enc(K00000000100000010000,KR)
Sig Unknown:  00000017020000000100
Sig Len:      0x28
Sig:          7b51xxxxxxxxxxxxxxxxxxxxxxxxxxxx
netmdlinux.1250623854.txt.gz · Last modified: 2009/08/18 21:30 by glaubitz