diff options
| -rw-r--r-- | drivers/usb/storage/initializers.c | 76 | ||||
| -rw-r--r-- | drivers/usb/storage/initializers.h | 4 | ||||
| -rw-r--r-- | drivers/usb/storage/unusual_devs.h | 329 |
3 files changed, 78 insertions, 331 deletions
diff --git a/drivers/usb/storage/initializers.c b/drivers/usb/storage/initializers.c index 105d900150c1..16b0bf055eeb 100644 --- a/drivers/usb/storage/initializers.c +++ b/drivers/usb/storage/initializers.c | |||
| @@ -92,8 +92,8 @@ int usb_stor_ucr61s2b_init(struct us_data *us) | |||
| 92 | return 0; | 92 | return 0; |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | /* This places the HUAWEI E220 devices in multi-port mode */ | 95 | /* This places the HUAWEI usb dongles in multi-port mode */ |
| 96 | int usb_stor_huawei_e220_init(struct us_data *us) | 96 | static int usb_stor_huawei_feature_init(struct us_data *us) |
| 97 | { | 97 | { |
| 98 | int result; | 98 | int result; |
| 99 | 99 | ||
| @@ -104,3 +104,75 @@ int usb_stor_huawei_e220_init(struct us_data *us) | |||
| 104 | US_DEBUGP("Huawei mode set result is %d\n", result); | 104 | US_DEBUGP("Huawei mode set result is %d\n", result); |
| 105 | return 0; | 105 | return 0; |
| 106 | } | 106 | } |
| 107 | |||
| 108 | /* | ||
| 109 | * It will send a scsi switch command called rewind' to huawei dongle. | ||
| 110 | * When the dongle receives this command at the first time, | ||
| 111 | * it will reboot immediately. After rebooted, it will ignore this command. | ||
| 112 | * So it is unnecessary to read its response. | ||
| 113 | */ | ||
| 114 | static int usb_stor_huawei_scsi_init(struct us_data *us) | ||
| 115 | { | ||
| 116 | int result = 0; | ||
| 117 | int act_len = 0; | ||
| 118 | struct bulk_cb_wrap *bcbw = (struct bulk_cb_wrap *) us->iobuf; | ||
| 119 | char rewind_cmd[] = {0x11, 0x06, 0x20, 0x00, 0x00, 0x01, 0x01, 0x00, | ||
| 120 | 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; | ||
| 121 | |||
| 122 | bcbw->Signature = cpu_to_le32(US_BULK_CB_SIGN); | ||
| 123 | bcbw->Tag = 0; | ||
| 124 | bcbw->DataTransferLength = 0; | ||
| 125 | bcbw->Flags = bcbw->Lun = 0; | ||
| 126 | bcbw->Length = sizeof(rewind_cmd); | ||
| 127 | memset(bcbw->CDB, 0, sizeof(bcbw->CDB)); | ||
| 128 | memcpy(bcbw->CDB, rewind_cmd, sizeof(rewind_cmd)); | ||
| 129 | |||
| 130 | result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe, bcbw, | ||
| 131 | US_BULK_CB_WRAP_LEN, &act_len); | ||
| 132 | US_DEBUGP("transfer actual length=%d, result=%d\n", act_len, result); | ||
| 133 | return result; | ||
| 134 | } | ||
| 135 | |||
| 136 | /* | ||
| 137 | * It tries to find the supported Huawei USB dongles. | ||
| 138 | * In Huawei, they assign the following product IDs | ||
| 139 | * for all of their mobile broadband dongles, | ||
| 140 | * including the new dongles in the future. | ||
| 141 | * So if the product ID is not included in this list, | ||
| 142 | * it means it is not Huawei's mobile broadband dongles. | ||
| 143 | */ | ||
| 144 | static int usb_stor_huawei_dongles_pid(struct us_data *us) | ||
| 145 | { | ||
| 146 | struct usb_interface_descriptor *idesc; | ||
| 147 | int idProduct; | ||
| 148 | |||
| 149 | idesc = &us->pusb_intf->cur_altsetting->desc; | ||
| 150 | idProduct = us->pusb_dev->descriptor.idProduct; | ||
| 151 | /* The first port is CDROM, | ||
| 152 | * means the dongle in the single port mode, | ||
| 153 | * and a switch command is required to be sent. */ | ||
| 154 | if (idesc && idesc->bInterfaceNumber == 0) { | ||
| 155 | if ((idProduct == 0x1001) | ||
| 156 | || (idProduct == 0x1003) | ||
| 157 | || (idProduct == 0x1004) | ||
| 158 | || (idProduct >= 0x1401 && idProduct <= 0x1500) | ||
| 159 | || (idProduct >= 0x1505 && idProduct <= 0x1600) | ||
| 160 | || (idProduct >= 0x1c02 && idProduct <= 0x2202)) { | ||
| 161 | return 1; | ||
| 162 | } | ||
| 163 | } | ||
| 164 | return 0; | ||
| 165 | } | ||
| 166 | |||
| 167 | int usb_stor_huawei_init(struct us_data *us) | ||
| 168 | { | ||
| 169 | int result = 0; | ||
| 170 | |||
| 171 | if (usb_stor_huawei_dongles_pid(us)) { | ||
| 172 | if (us->pusb_dev->descriptor.idProduct >= 0x1446) | ||
| 173 | result = usb_stor_huawei_scsi_init(us); | ||
| 174 | else | ||
| 175 | result = usb_stor_huawei_feature_init(us); | ||
| 176 | } | ||
| 177 | return result; | ||
| 178 | } | ||
diff --git a/drivers/usb/storage/initializers.h b/drivers/usb/storage/initializers.h index 529327fbb06b..5376d4fc76f0 100644 --- a/drivers/usb/storage/initializers.h +++ b/drivers/usb/storage/initializers.h | |||
| @@ -46,5 +46,5 @@ int usb_stor_euscsi_init(struct us_data *us); | |||
| 46 | * flash reader */ | 46 | * flash reader */ |
| 47 | int usb_stor_ucr61s2b_init(struct us_data *us); | 47 | int usb_stor_ucr61s2b_init(struct us_data *us); |
| 48 | 48 | ||
| 49 | /* This places the HUAWEI E220 devices in multi-port mode */ | 49 | /* This places the HUAWEI usb dongles in multi-port mode */ |
| 50 | int usb_stor_huawei_e220_init(struct us_data *us); | 50 | int usb_stor_huawei_init(struct us_data *us); |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index d305a5aa3a5d..72923b56bbf6 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
| @@ -1527,335 +1527,10 @@ UNUSUAL_DEV( 0x1210, 0x0003, 0x0100, 0x0100, | |||
| 1527 | /* Reported by fangxiaozhi <huananhu@huawei.com> | 1527 | /* Reported by fangxiaozhi <huananhu@huawei.com> |
| 1528 | * This brings the HUAWEI data card devices into multi-port mode | 1528 | * This brings the HUAWEI data card devices into multi-port mode |
| 1529 | */ | 1529 | */ |
| 1530 | UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000, | 1530 | UNUSUAL_VENDOR_INTF(0x12d1, 0x08, 0x06, 0x50, |
| 1531 | "HUAWEI MOBILE", | 1531 | "HUAWEI MOBILE", |
| 1532 | "Mass Storage", | 1532 | "Mass Storage", |
| 1533 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | 1533 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_init, |
| 1534 | 0), | ||
| 1535 | UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000, | ||
| 1536 | "HUAWEI MOBILE", | ||
| 1537 | "Mass Storage", | ||
| 1538 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1539 | 0), | ||
| 1540 | UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000, | ||
| 1541 | "HUAWEI MOBILE", | ||
| 1542 | "Mass Storage", | ||
| 1543 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1544 | 0), | ||
| 1545 | UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000, | ||
| 1546 | "HUAWEI MOBILE", | ||
| 1547 | "Mass Storage", | ||
| 1548 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1549 | 0), | ||
| 1550 | UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000, | ||
| 1551 | "HUAWEI MOBILE", | ||
| 1552 | "Mass Storage", | ||
| 1553 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1554 | 0), | ||
| 1555 | UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000, | ||
| 1556 | "HUAWEI MOBILE", | ||
| 1557 | "Mass Storage", | ||
| 1558 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1559 | 0), | ||
| 1560 | UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000, | ||
| 1561 | "HUAWEI MOBILE", | ||
| 1562 | "Mass Storage", | ||
| 1563 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1564 | 0), | ||
| 1565 | UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000, | ||
| 1566 | "HUAWEI MOBILE", | ||
| 1567 | "Mass Storage", | ||
| 1568 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1569 | 0), | ||
| 1570 | UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000, | ||
| 1571 | "HUAWEI MOBILE", | ||
| 1572 | "Mass Storage", | ||
| 1573 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1574 | 0), | ||
| 1575 | UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000, | ||
| 1576 | "HUAWEI MOBILE", | ||
| 1577 | "Mass Storage", | ||
| 1578 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1579 | 0), | ||
| 1580 | UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000, | ||
| 1581 | "HUAWEI MOBILE", | ||
| 1582 | "Mass Storage", | ||
| 1583 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1584 | 0), | ||
| 1585 | UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000, | ||
| 1586 | "HUAWEI MOBILE", | ||
| 1587 | "Mass Storage", | ||
| 1588 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1589 | 0), | ||
| 1590 | UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000, | ||
| 1591 | "HUAWEI MOBILE", | ||
| 1592 | "Mass Storage", | ||
| 1593 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1594 | 0), | ||
| 1595 | UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000, | ||
| 1596 | "HUAWEI MOBILE", | ||
| 1597 | "Mass Storage", | ||
| 1598 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1599 | 0), | ||
| 1600 | UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000, | ||
| 1601 | "HUAWEI MOBILE", | ||
| 1602 | "Mass Storage", | ||
| 1603 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1604 | 0), | ||
| 1605 | UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000, | ||
| 1606 | "HUAWEI MOBILE", | ||
| 1607 | "Mass Storage", | ||
| 1608 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1609 | 0), | ||
| 1610 | UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000, | ||
| 1611 | "HUAWEI MOBILE", | ||
| 1612 | "Mass Storage", | ||
| 1613 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1614 | 0), | ||
| 1615 | UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000, | ||
| 1616 | "HUAWEI MOBILE", | ||
| 1617 | "Mass Storage", | ||
| 1618 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1619 | 0), | ||
| 1620 | UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000, | ||
| 1621 | "HUAWEI MOBILE", | ||
| 1622 | "Mass Storage", | ||
| 1623 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1624 | 0), | ||
| 1625 | UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000, | ||
| 1626 | "HUAWEI MOBILE", | ||
| 1627 | "Mass Storage", | ||
| 1628 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1629 | 0), | ||
| 1630 | UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000, | ||
| 1631 | "HUAWEI MOBILE", | ||
| 1632 | "Mass Storage", | ||
| 1633 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1634 | 0), | ||
| 1635 | UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000, | ||
| 1636 | "HUAWEI MOBILE", | ||
| 1637 | "Mass Storage", | ||
| 1638 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1639 | 0), | ||
| 1640 | UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000, | ||
| 1641 | "HUAWEI MOBILE", | ||
| 1642 | "Mass Storage", | ||
| 1643 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1644 | 0), | ||
| 1645 | UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000, | ||
| 1646 | "HUAWEI MOBILE", | ||
| 1647 | "Mass Storage", | ||
| 1648 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1649 | 0), | ||
| 1650 | UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000, | ||
| 1651 | "HUAWEI MOBILE", | ||
| 1652 | "Mass Storage", | ||
| 1653 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1654 | 0), | ||
| 1655 | UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000, | ||
| 1656 | "HUAWEI MOBILE", | ||
| 1657 | "Mass Storage", | ||
| 1658 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1659 | 0), | ||
| 1660 | UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000, | ||
| 1661 | "HUAWEI MOBILE", | ||
| 1662 | "Mass Storage", | ||
| 1663 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1664 | 0), | ||
| 1665 | UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000, | ||
| 1666 | "HUAWEI MOBILE", | ||
| 1667 | "Mass Storage", | ||
| 1668 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1669 | 0), | ||
| 1670 | UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000, | ||
| 1671 | "HUAWEI MOBILE", | ||
| 1672 | "Mass Storage", | ||
| 1673 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1674 | 0), | ||
| 1675 | UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000, | ||
| 1676 | "HUAWEI MOBILE", | ||
| 1677 | "Mass Storage", | ||
| 1678 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1679 | 0), | ||
| 1680 | UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000, | ||
| 1681 | "HUAWEI MOBILE", | ||
| 1682 | "Mass Storage", | ||
| 1683 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1684 | 0), | ||
| 1685 | UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000, | ||
| 1686 | "HUAWEI MOBILE", | ||
| 1687 | "Mass Storage", | ||
| 1688 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1689 | 0), | ||
| 1690 | UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000, | ||
| 1691 | "HUAWEI MOBILE", | ||
| 1692 | "Mass Storage", | ||
| 1693 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1694 | 0), | ||
| 1695 | UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000, | ||
| 1696 | "HUAWEI MOBILE", | ||
| 1697 | "Mass Storage", | ||
| 1698 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1699 | 0), | ||
| 1700 | UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000, | ||
| 1701 | "HUAWEI MOBILE", | ||
| 1702 | "Mass Storage", | ||
| 1703 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1704 | 0), | ||
| 1705 | UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000, | ||
| 1706 | "HUAWEI MOBILE", | ||
| 1707 | "Mass Storage", | ||
| 1708 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1709 | 0), | ||
| 1710 | UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000, | ||
| 1711 | "HUAWEI MOBILE", | ||
| 1712 | "Mass Storage", | ||
| 1713 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1714 | 0), | ||
| 1715 | UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000, | ||
| 1716 | "HUAWEI MOBILE", | ||
| 1717 | "Mass Storage", | ||
| 1718 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1719 | 0), | ||
| 1720 | UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000, | ||
| 1721 | "HUAWEI MOBILE", | ||
| 1722 | "Mass Storage", | ||
| 1723 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1724 | 0), | ||
| 1725 | UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000, | ||
| 1726 | "HUAWEI MOBILE", | ||
| 1727 | "Mass Storage", | ||
| 1728 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1729 | 0), | ||
| 1730 | UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000, | ||
| 1731 | "HUAWEI MOBILE", | ||
| 1732 | "Mass Storage", | ||
| 1733 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1734 | 0), | ||
| 1735 | UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000, | ||
| 1736 | "HUAWEI MOBILE", | ||
| 1737 | "Mass Storage", | ||
| 1738 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1739 | 0), | ||
| 1740 | UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000, | ||
| 1741 | "HUAWEI MOBILE", | ||
| 1742 | "Mass Storage", | ||
| 1743 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1744 | 0), | ||
| 1745 | UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000, | ||
| 1746 | "HUAWEI MOBILE", | ||
| 1747 | "Mass Storage", | ||
| 1748 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1749 | 0), | ||
| 1750 | UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000, | ||
| 1751 | "HUAWEI MOBILE", | ||
| 1752 | "Mass Storage", | ||
| 1753 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1754 | 0), | ||
| 1755 | UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000, | ||
| 1756 | "HUAWEI MOBILE", | ||
| 1757 | "Mass Storage", | ||
| 1758 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1759 | 0), | ||
| 1760 | UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000, | ||
| 1761 | "HUAWEI MOBILE", | ||
| 1762 | "Mass Storage", | ||
| 1763 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1764 | 0), | ||
| 1765 | UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000, | ||
| 1766 | "HUAWEI MOBILE", | ||
| 1767 | "Mass Storage", | ||
| 1768 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1769 | 0), | ||
| 1770 | UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000, | ||
| 1771 | "HUAWEI MOBILE", | ||
| 1772 | "Mass Storage", | ||
| 1773 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1774 | 0), | ||
| 1775 | UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000, | ||
| 1776 | "HUAWEI MOBILE", | ||
| 1777 | "Mass Storage", | ||
| 1778 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1779 | 0), | ||
| 1780 | UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000, | ||
| 1781 | "HUAWEI MOBILE", | ||
| 1782 | "Mass Storage", | ||
| 1783 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1784 | 0), | ||
| 1785 | UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000, | ||
| 1786 | "HUAWEI MOBILE", | ||
| 1787 | "Mass Storage", | ||
| 1788 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1789 | 0), | ||
| 1790 | UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000, | ||
| 1791 | "HUAWEI MOBILE", | ||
| 1792 | "Mass Storage", | ||
| 1793 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1794 | 0), | ||
| 1795 | UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000, | ||
| 1796 | "HUAWEI MOBILE", | ||
| 1797 | "Mass Storage", | ||
| 1798 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1799 | 0), | ||
| 1800 | UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000, | ||
| 1801 | "HUAWEI MOBILE", | ||
| 1802 | "Mass Storage", | ||
| 1803 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1804 | 0), | ||
| 1805 | UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000, | ||
| 1806 | "HUAWEI MOBILE", | ||
| 1807 | "Mass Storage", | ||
| 1808 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1809 | 0), | ||
| 1810 | UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000, | ||
| 1811 | "HUAWEI MOBILE", | ||
| 1812 | "Mass Storage", | ||
| 1813 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1814 | 0), | ||
| 1815 | UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000, | ||
| 1816 | "HUAWEI MOBILE", | ||
| 1817 | "Mass Storage", | ||
| 1818 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1819 | 0), | ||
| 1820 | UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000, | ||
| 1821 | "HUAWEI MOBILE", | ||
| 1822 | "Mass Storage", | ||
| 1823 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1824 | 0), | ||
| 1825 | UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000, | ||
| 1826 | "HUAWEI MOBILE", | ||
| 1827 | "Mass Storage", | ||
| 1828 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1829 | 0), | ||
| 1830 | UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000, | ||
| 1831 | "HUAWEI MOBILE", | ||
| 1832 | "Mass Storage", | ||
| 1833 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1834 | 0), | ||
| 1835 | UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000, | ||
| 1836 | "HUAWEI MOBILE", | ||
| 1837 | "Mass Storage", | ||
| 1838 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1839 | 0), | ||
| 1840 | UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000, | ||
| 1841 | "HUAWEI MOBILE", | ||
| 1842 | "Mass Storage", | ||
| 1843 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1844 | 0), | ||
| 1845 | UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000, | ||
| 1846 | "HUAWEI MOBILE", | ||
| 1847 | "Mass Storage", | ||
| 1848 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1849 | 0), | ||
| 1850 | UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000, | ||
| 1851 | "HUAWEI MOBILE", | ||
| 1852 | "Mass Storage", | ||
| 1853 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1854 | 0), | ||
| 1855 | UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000, | ||
| 1856 | "HUAWEI MOBILE", | ||
| 1857 | "Mass Storage", | ||
| 1858 | USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init, | ||
| 1859 | 0), | 1534 | 0), |
| 1860 | 1535 | ||
| 1861 | /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ | 1536 | /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ |
