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:

libnetmd: A library to connect to NetMD Walkman - and

Patch for libnetmd to add support for MZ-RH1 and -RH10, also minor casting fixes:

gnetmd: A GUI for libnetmd -

Xmd: NetMD software for Mac OS X -

WinNMD: non-free Windows software -

FreeMD: how the NetMD protocol works, and a shell to set track titles etc.

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

  • 2004006 AV/C Digital Interface Command Set General Specification Version 4.2
  • 2004005 AV/C Tape Recorder/Player Subunit Specification 2.4
  • 2002013 AV/C Descriptor Mechanism 1.2
  • 2002002 AV/C Disc Subunit - Generic Recordable Video Disc Media Type Specification 1.0

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.

More protocol info:

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

TODO: Check other Sony patents.

There is a funding project, supporting a resume of the development of the libnetmd software, see

netmdlinux.1240914274.txt.gz · Last modified: 2009/04/28 12:24 by marcus