Hi,as netmd_get_devname(..) gets device name from the usb descriptor it is "Net MD Walkman" or "Net MD/HiMD" on most devices. To differentiate them (Sony MZ-N710, Sony MZ-RH1, ..) i made a patch to remember the model number from the known_devices list. So we can show it in our application analogous to the himd detection system in qhimdtransfer.
Regards Thomas
>From 9f6874d046e9b7de37c7159cebd430846a02366c Mon Sep 17 00:00:00 2001 From: Thomas Arp <manner.moe@gmx.de> Date: Thu, 15 Sep 2011 20:13:37 +0200 Subject: [PATCH 3/3] remember model of detected netmd device from known_devices[] to show it in the application, analogous to the detection system for himd devices in qhimdtransfer --- libnetmd/netmd_dev.c | 85 +++++++++++++++++++++++++------------------------ libnetmd/netmd_dev.h | 2 + netmdcli/netmdcli.c | 1 + 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/libnetmd/netmd_dev.c b/libnetmd/netmd_dev.c index 0f3f3b0..1a18c7d 100644 --- a/libnetmd/netmd_dev.c +++ b/libnetmd/netmd_dev.c @@ -33,48 +33,48 @@ static libusb_context *ctx = NULL; /*! list of known vendor/prod id's for NetMD devices */ static struct netmd_devices const known_devices[] = { - {0x54c, 0x34}, /* Sony PCLK-XX */ - {0x54c, 0x36}, /* Sony (unknown model) */ - {0x54c, 0x75}, /* Sony MZ-N1 */ - {0x54c, 0x7c}, /* Sony (unknown model) */ - {0x54c, 0x80}, /* Sony LAM-1 */ - {0x54c, 0x81}, /* Sony MDS-JE780/JB980 */ - {0x54c, 0x84}, /* Sony MZ-N505 */ - {0x54c, 0x85}, /* Sony MZ-S1 */ - {0x54c, 0x86}, /* Sony MZ-N707 */ - {0x54c, 0x8e}, /* Sony CMT-C7NT */ - {0x54c, 0x97}, /* Sony PCGA-MDN1 */ - {0x54c, 0xad}, /* Sony CMT-L7HD */ - {0x54c, 0xc6}, /* Sony MZ-N10 */ - {0x54c, 0xc7}, /* Sony MZ-N910 */ - {0x54c, 0xc8}, /* Sony MZ-N710/NE810/NF810 */ - {0x54c, 0xc9}, /* Sony MZ-N510/NF610 */ - {0x54c, 0xca}, /* Sony MZ-NE410/DN430/NF520 */ - {0x54c, 0xeb}, /* Sony MZ-NE810/NE910 */ - {0x54c, 0xe7}, /* Sony CMT-M333NT/M373NT */ - {0x54c, 0x101}, /* Sony LAM-10 */ - {0x54c, 0x113}, /* Aiwa AM-NX1 */ - {0x54c, 0x14c}, /* Aiwa AM-NX9 */ - {0x54c, 0x17e}, /* Sony MZ-NH1 */ - {0x54c, 0x180}, /* Sony MZ-NH3D */ - {0x54c, 0x182}, /* Sony MZ-NH900 */ - {0x54c, 0x184}, /* Sony MZ-NH700/800 */ - {0x54c, 0x186}, /* Sony MZ-NH600/600D */ - {0x54c, 0x188}, /* Sony MZ-N920 */ - {0x54c, 0x18a}, /* Sony LAM-3 */ - {0x54c, 0x1e9}, /* Sony MZ-DH10P */ - {0x54c, 0x219}, /* Sony MZ-RH10 */ - {0x54c, 0x21b}, /* Sony MZ-RH910 */ - {0x54c, 0x21d}, /* Sony CMT-AH10 */ - {0x54c, 0x22c}, /* Sony CMT-AH10 */ - {0x54c, 0x23c}, /* Sony DS-HMD1 */ - {0x54c, 0x286}, /* Sony MZ-RH1 */ - - {0x4dd, 0x7202}, /* Sharp IM-MT880H/MT899H */ - {0x4dd, 0x9013}, /* Sharp IM-DR400/DR410 */ - {0x4dd, 0x9014}, /* Sharp IM-DR80/DR420/DR580 and Kenwood DMC-S9NET */ - - {0, 0} /* terminating pair */ + {0x54c, 0x34, "Sony PCLK-XX"}, + {0x54c, 0x36, "Sony (unknown model)"}, + {0x54c, 0x75, "Sony MZ-N1"}, + {0x54c, 0x7c, "Sony (unknown model)"}, + {0x54c, 0x80, "Sony LAM-1"}, + {0x54c, 0x81, "Sony MDS-JE780/JB980"}, + {0x54c, 0x84, "Sony MZ-N505"}, + {0x54c, 0x85, "Sony MZ-S1"}, + {0x54c, 0x86, "Sony MZ-N707"}, + {0x54c, 0x8e, "Sony CMT-C7NT"}, + {0x54c, 0x97, "Sony PCGA-MDN1"}, + {0x54c, 0xad, "Sony CMT-L7HD"}, + {0x54c, 0xc6, "Sony MZ-N10"}, + {0x54c, 0xc7, "Sony MZ-N910"}, + {0x54c, 0xc8, "Sony MZ-N710/NE810/NF810"}, + {0x54c, 0xc9, "Sony MZ-N510/NF610"}, + {0x54c, 0xca, "Sony MZ-NE410/DN430/NF520"}, + {0x54c, 0xeb, "Sony MZ-NE810/NE910"}, + {0x54c, 0xe7, "Sony CMT-M333NT/M373NT"}, + {0x54c, 0x101, "Sony LAM-10"}, + {0x54c, 0x113, "Aiwa AM-NX1"}, + {0x54c, 0x14c, "Aiwa AM-NX9"}, + {0x54c, 0x17e, "Sony MZ-NH1"}, + {0x54c, 0x180, "Sony MZ-NH3D"}, + {0x54c, 0x182, "Sony MZ-NH900"}, + {0x54c, 0x184, "Sony MZ-NH700/800"}, + {0x54c, 0x186, "Sony MZ-NH600/600D"}, + {0x54c, 0x188, "Sony MZ-N920"}, + {0x54c, 0x18a, "Sony LAM-3"}, + {0x54c, 0x1e9, "Sony MZ-DH10P"}, + {0x54c, 0x219, "Sony MZ-RH10"}, + {0x54c, 0x21b, "Sony MZ-RH910"}, + {0x54c, 0x21d, "Sony CMT-AH10"}, + {0x54c, 0x22c, "Sony CMT-AH10"}, + {0x54c, 0x23c, "Sony DS-HMD1"}, + {0x54c, 0x286, "Sony MZ-RH1"}, + + {0x4dd, 0x7202, "Sharp IM-MT880H/MT899H"}, + {0x4dd, 0x9013, "Sharp IM-DR400/DR410"}, + {0x4dd, 0x9014, "Sharp IM-DR80/DR420/DR580 or Kenwood DMC-S9NET"}, + + {0, 0, NULL} /* terminating pair */ }; @@ -102,6 +102,7 @@ netmd_error netmd_init(netmd_device **device_list) new_device = malloc(sizeof(netmd_device)); new_device->usb_dev = list[i]; new_device->link = *device_list; + new_device->model = known_devices[count].model; *device_list = new_device; } } diff --git a/libnetmd/netmd_dev.h b/libnetmd/netmd_dev.h index ba6cea5..0ccff55 100644 --- a/libnetmd/netmd_dev.h +++ b/libnetmd/netmd_dev.h @@ -7,6 +7,7 @@ typedef struct netmd_device { struct netmd_device *link; char name[32]; + char *model; struct libusb_device *usb_dev; } netmd_device; @@ -16,6 +17,7 @@ typedef struct netmd_device { struct netmd_devices { int idVendor; int idProduct; + char *model; }; /** diff --git a/netmdcli/netmdcli.c b/netmdcli/netmdcli.c index b4e0ee3..5090243 100644 --- a/netmdcli/netmdcli.c +++ b/netmdcli/netmdcli.c @@ -210,6 +210,7 @@ int main(int argc, char* argv[]) return -1; } printf("%s\n", name); + printf("%s\n", netmd->model); netmd_initialize_disc_info(devh, md); printf("Disc Title: %s\n\n", md->groups[0].name); -- 1.7.6.msysgit.0