Re: [PATCH] USB: option: add support for SIM7100E

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 20, 2016 at 03:05:56PM +0300, Andrey Skvortsov wrote:
> $ lsusb:
> Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
> 
> $ usb-devices:
> T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480  MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  2
> P:  Vendor=1e0e ProdID=9001 Rev= 2.32
> S:  Manufacturer=SimTech, Incorporated
> S:  Product=SimTech, Incorporated
> S:  SerialNumber=0123456789ABCDEF
> C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
> I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
> I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
> 
> The last interface (6) is used for Android Composite ADB interface.
> 
> Serial port layout:
> 0: QCDM/DIAG
> 1: NMEA
> 2: AT
> 3: AT/PPP
> 4: audio
> 
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>

This one no longer applies to my tree due to some recent changes to the
option driver. Would you mind respinning it?

	git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git

> ---
>  drivers/usb/serial/option.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index f228060..2366f8a 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -510,6 +510,9 @@ static void option_instat_callback(struct urb *urb);
>  #define VIATELECOM_VENDOR_ID			0x15eb
>  #define VIATELECOM_PRODUCT_CDS7			0x0001
>  
> +/* SIMCom Wireless Solutions products */
> +#define SIMCOM_PRODUCT_SIM7100E			0x9001
> +

Please also place this one under the ALINK section and mention that
that's the VID that is used.

>  struct option_blacklist_info {
>  	/* bitmask of interface numbers blacklisted for send_setup */
>  	const unsigned long sendsetup;
> @@ -615,6 +618,10 @@ static const struct option_blacklist_info telit_le920_blacklist = {
>  	.reserved = BIT(1) | BIT(5),
>  };
>  
> +static const struct option_blacklist_info simcom_sim7100e_blacklist = {
> +	.reserved = BIT(5) | BIT(6),
> +};
> +
>  static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
>  	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
> @@ -1619,6 +1626,8 @@ static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) },
>  	{ USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */
>  	{ USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5A) },
> +	{ USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
> +	  .driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },

And perhaps you should put this one after the other ALINK entries
(including PID 0x9000) instead of with the DLINK ones.

>  	{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) },
>  	{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) },
>  	{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) },

Thanks,
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux