summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2020-12-26 01:40:57 +0100
committerPali Rohár <pali.rohar@gmail.com>2020-12-26 01:40:57 +0100
commitca080dd33f723c0632a041f6c9bb7b15d2fdaa32 (patch)
tree96436d4d9aa41943d4d3789996804e394d5e4a4f
parent4ae1f136248a2c989197ef0c6ad016ffa3372a59 (diff)
download0xFFFF-ca080dd33f723c0632a041f6c9bb7b15d2fdaa32.tar.bz2
usb-device: Add device ids for Nokia N950 and Nokia N9
-rw-r--r--src/usb-device.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/usb-device.c b/src/usb-device.c
index 9f003c0..7ce71e5 100644
--- a/src/usb-device.c
+++ b/src/usb-device.c
@@ -53,8 +53,12 @@ static struct usb_flash_device usb_devices[] = {
{ 0x0421, 0x01c7, -1, -1, -1, FLASH_DISK, { DEVICE_RX_51, 0 } },
{ 0x0421, 0x01c8, 1, 1, -1, FLASH_MKII, { DEVICE_RX_51, DEVICE_RM_680, 0 } },
{ 0x0421, 0x03d1, -1, -1, -1, FLASH_DISK, { DEVICE_RM_680, 0 } },
+ { 0x0421, 0x03d2, 1, 1, -1, FLASH_MKII, { DEVICE_RM_680, 0 } },
{ 0x0421, 0x0431, -1, -1, -1, FLASH_DISK, { DEVICE_SU_18, DEVICE_RX_34, 0 } },
{ 0x0421, 0x04c3, -1, -1, -1, FLASH_DISK, { DEVICE_RX_34, 0 } },
+ { 0x0421, 0x0518, -1, -1, -1, FLASH_DISK, { DEVICE_RM_696, 0 } },
+ { 0x0421, 0x0519, -1, -1, -1, FLASH_UNKN, { DEVICE_RM_696, 0 } }, /* RNDIS/Ethernet mode */
+ { 0x0421, 0x051a, 1, 1, -1, FLASH_MKII, { DEVICE_RM_696, 0 } },
{ 0x0421, 0x3f00, 2, 1, -1, FLASH_NOLO, { DEVICE_RX_34, 0 } },
};
@@ -158,6 +162,9 @@ static struct usb_device_info * usb_device_is_valid(struct usb_device * dev) {
if ( dev->descriptor.idVendor == usb_devices[i].vendor && dev->descriptor.idProduct == usb_devices[i].product ) {
+ if ( usb_devices[i].protocol == FLASH_UNKN )
+ continue;
+
printf("\b\b ");
PRINTF_END();
PRINTF_ADD("Found ");
@@ -232,11 +239,11 @@ static struct usb_device_info * usb_device_is_valid(struct usb_device * dev) {
ret->device = DEVICE_RX_48;
else if ( strcmp(product, "N900 (Storage Mode)") == 0 || strcmp(product, "Nokia N900 (Update mode)") == 0 || strcmp(product, "N900 (PC-Suite Mode)") == 0 )
ret->device = DEVICE_RX_51;
- else if ( strcmp(product, "Nokia N950") == 0 || strcmp(product, "Sync Mode") == 0 || strcmp(product, "N950 (Update mode)") == 0 )
+ else if ( strcmp(product, "Nokia N950") == 0 || strcmp(product, "N950 (Update mode)") == 0 )
ret->device = DEVICE_RM_680;
- else if ( strcmp(product, "N9 (Update mode)") == 0 || strcmp(product, "Nxy (Update mode)") == 0 )
+ else if ( strcmp(product, "Nokia N9") == 0 || strcmp(product, "N9 (Update mode)") == 0 || strcmp(product, "Nokia N9 RNDIS/Ethernet") == 0 )
ret->device = DEVICE_RM_696;
- else if ( strcmp(product, "Nokia USB ROM") == 0 )
+ else if ( strcmp(product, "Nokia USB ROM") == 0 || strcmp(product, "Sync Mode") == 0 || strcmp(product, "Nxy (Update mode)") == 0 )
ret->device = DEVICE_ANY;
else
ret->device = DEVICE_UNKNOWN;