How set to variable USB VID & PID?

Hello.

For auto change settings for ppp-client with different USB 3G-modems i need analyze vendor-id and device-id.
For example:

[admin@Mikrotik] > system resource usb print detail                           
 0 device="1:1" vendor="Linux 3.3.5 ehci_hcd" name="RB400 EHCI" serial-number="rb400_usb" vendor-id="0x1d6b" device-id="0x0002" speed="480 Mbps" ports=1 usb-version="2.00" 

 1 device="1:5" vendor="Huawei Technologies" name="HUAWEI Mobile" vendor-id="0x12d1" device-id="0x1506" speed="480 Mbps" ports=0 usb-version="2.00"

How i can set to variable this data:
vendor=“Huawei Technologies”
name=“HUAWEI Mobile”
vendor-id=“0x12d1”
device-id=“0x1506”

Tnx for your reply.

Found next solution

:local Ven [/system resource usb get number=1 value-name=vendor]
:local Name [/system resource usb get number=1 value-name=name]
:local VenID [/system resource usb get number=1 value-name=vendor-id]
:local DevID [/system resource usb get number=1 value-name=device-id]
:log warning "Ven = $Ven"
:log warning "Name = $Name"
:log warning "VenID = $VenID"
:log warning "DevID = $DevID"



02:49:20 script,warning Ven = Huawei Technologies 
02:49:20 script,warning Name = HUAWEI Mobile 
02:49:20 script,warning VenID = 0x12d1 
02:49:20 script,warning DevID = 0x1506

You can also get all data at once with “print as-value”, e.g.

:local usbDevices [/system resource usb print as-value];
:local usbModem [:pick $usbDevices 1];

:log warning ("Ven = " . ($usbModem->"vendor"))
:log warning ("Name = " . ($usbModem->"name"))
:log warning ("VenID = " . ($usbModem->"vendor-id"))
:log warning ("DevID = " . ($usbModem->"device-id"))

Hi,

Some time ago I did it this way:

# scan for modem
:foreach i in=[/system resource usb find] do={
:local venid [/system resource usb get $i vendor-id];
:local devid [/system resource usb get $i device-id];
# log info ("USB Device -> Vendor-ID: $venid, Device-ID: $devid");
:if (($venid="0x12d1") && ($devid="0x1c05")) do={
:set modemtype "HUAWEI E173 GSM";
};

HTH,