Re: Custom device plugin
I'll assume these are the Yota LTE (LU150?) USB sticks based on the GCT chipset, vid 1076 >>> >>> That's right. >>> >>> pid 8003. If not please elighten me :) >>> >>> At least my modem has pid 8002. >>> >>> I'm happy to take a patch for these devices, but first we'd want a bit more information about it. How do they communicate with the host? Does the host actually need to configure them at all, or is the configuration all done through the device's web interface? >>> >>> They use RNDIS, so the host sees them as network interfaces (the >>> driver is rndis_host). >>> >>> lsusb: >>> >>> bDeviceClass2 Communications >>> idVendor 0x1076 GCT Semiconductor, Inc. >>> idProduct 0x8002 >>> iManufacturer 1 GCT SEMICONDUCTOR Inc >>> iProduct2 Modem Yota >>> bInterfaceClass 224 Wireless >>> bInterfaceSubClass 1 Radio Frequency >>> bInterfaceProtocol 3 RNDIS >>> >>> >>> dmesg: >>> ~~~ >>> [37908.902059] usb 2-1: new high-speed USB device number 5 using ehci_hcd >>> [37909.016784] usb 2-1: New USB device found, idVendor=1076, idProduct=8001 >>> [37909.016790] usb 2-1: New USB device strings: Mfr=1, Product=2, >>> SerialNumber=0 >>> [37909.016795] usb 2-1: Product: Modem Yota >>> [37909.016799] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc >>> [37909.017941] scsi7 : usb-storage 2-1:1.0 >>> [37910.020806] scsi 7:0:0:0: CD-ROMGDM Mass >>>PQ: 0 ANSI: 0 CCS >>> [37910.040402] sr1: scsi3-mmc drive: 0x/0x caddy >>> [37910.040821] sr 7:0:0:0: Attached scsi CD-ROM sr1 >>> [37911.023887] usb 2-1: USB disconnect, device number 5 >>> [37911.780107] usb 2-1: new high-speed USB device number 6 using ehci_hcd >>> [37911.894782] usb 2-1: New USB device found, idVendor=1076, idProduct=8002 >>> [37911.894788] usb 2-1: New USB device strings: Mfr=1, Product=2, >>> SerialNumber=0 >>> [37911.894792] usb 2-1: Product: Modem Yota >>> [37911.894796] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc >>> [37911.895640] rndis_host 2-1:1.0: dev can't take 1558 byte packets >>> (max 1458), adjusting MTU to 1400 >>> [37911.896799] rndis_host 2-1:1.0: eth1: register 'rndis_host' at >>> usb-:00:1d.7-1, RNDIS device, 00:09:3b:f0:1a:40 >>> [37911.910891] systemd-udevd[14153]: renamed network interface eth1 to yota >>> [37922.034017] yota: no IPv6 routers present >>> ~~~ >>> >>> The device seems to contain a DHCP-server that always provides the >>> same settings: 10.0.0.10/24 gw/dns 10.0.0.1. >>> The server is rather buggy so I've sticked to static IP configuration in NM. >>> >>> You can't really configure it — it just works. Through the web >>> interface you can check connection status, >>> update firmware (they say, you won't need this, because it will be >>> updated automatically), and >>> switch the device on/off (the relevant code is commented out in HTML >>> for some reason, though it does work). >>> >>> Web GUI gets status from http://10.0.0.1/status. I bet, their software >>> for Windows and Mac >>> gets data the same way.The data looks like this: >>> ~~ >>> InterfaceType=lte >>> 3GPP.IMSI= >>> 3GPP.UICC-ID= >>> 3GPP.IMEI= >>> 3GPP.IMEISV= >>> DeviceName=Modem Yota >>> RfVersion=no information >>> AsicVersion=GDM7240R1 >>> FirmwareVersion=3.7 >>> State=Connected >>> UpdateState=NotStarted >>> UpdateProgress=0 >>> ConnectedTime=894 >>> 3GPP.SINR=4 >>> 3GPP.RSSI=-86 >>> 3GPP.MCC=250 >>> 3GPP.MNC=11 >>> 3GPP.PLMN=25011 >>> 3GPP.RoamingStatus=0 >>> 3GPP.CGI=25011BF2A900 >>> 3GPP.CI=BF2A900 >>> 3GPP.eNBID=BF2A9 >>> 3GPP.HNBN= >>> 3GPP.CSGT= >>> 3GPP.CenterFreq=2642500 >>> 3GPP.TxPWR=23.0 >>> 3GPP.SPN=Yota >>> SessionID=3420730 >>> 3GPP.IsIdle=0 >>> IP=10.138.173.239 >>> SubnetMask=255.255.255.0 >>> DefaultGateway=10.0.0.1 >>> DHCP=10.0.0.1 >>> DNS=10.0.0.1 >>> SentBytes=97808 >>> ReceivedBytes=253845 >>> MaxDownlinkThroughput=99232 >>> MaxUplinkThroughput=88064 >>> CurDownlinkThroughput=53480 >>> CurUplinkThroughput=13048 >>> TotalHandoversCount=0 >>> SucceededHandoversCount=0 >>> NewFirmwareVersion= >>> 3GPP.RSRP=-116 >>> 3GPP.RSRQ=-11.0 >>> MSISDN= >>> SupportsConnectDisabling=0 >>> CQI=8 >>> DownlinkMCSMain=3,9,6 >>> DownlinkMCSDiv=3,6,4 >>> UplinkMCS=3,4,2 >>> NBRi=earfcn,ci,rsrp >>> ~~ >>> >> >> ModemManager as in git master is really port-type agnostic; which means >> that a plugin may use whatever method it needs to run specific steps in >> each of the state machines available. >> >> For this specific usecase, I don't think it would be too hard to develop >> a plugin using libsoup to run the periodic HTTP-GET requests to the >> built-in webserver in order to get these v
Re: Custom device plugin
On Fri, 2012-09-14 at 09:07 +0200, Aleksander Morgado wrote: > >> I'll assume these are the Yota LTE (LU150?) USB sticks based on the GCT > >> chipset, vid 1076 > > > > That's right. > > > > > >> pid 8003. If not please elighten me :) > > > > At least my modem has pid 8002. > > > > > >> I'm happy to take a patch for these devices, but first we'd want a bit > >> more information about it. How do they communicate with the host? Does > >> the host actually need to configure them at all, or is the configuration > >> all done through the device's web interface? > > > > They use RNDIS, so the host sees them as network interfaces (the > > driver is rndis_host). > > > > lsusb: > > > > bDeviceClass2 Communications > > idVendor 0x1076 GCT Semiconductor, Inc. > > idProduct 0x8002 > > iManufacturer 1 GCT SEMICONDUCTOR Inc > > iProduct2 Modem Yota > > bInterfaceClass 224 Wireless > > bInterfaceSubClass 1 Radio Frequency > > bInterfaceProtocol 3 RNDIS > > > > > > dmesg: > > ~~~ > > [37908.902059] usb 2-1: new high-speed USB device number 5 using ehci_hcd > > [37909.016784] usb 2-1: New USB device found, idVendor=1076, idProduct=8001 > > [37909.016790] usb 2-1: New USB device strings: Mfr=1, Product=2, > > SerialNumber=0 > > [37909.016795] usb 2-1: Product: Modem Yota > > [37909.016799] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc > > [37909.017941] scsi7 : usb-storage 2-1:1.0 > > [37910.020806] scsi 7:0:0:0: CD-ROMGDM Mass > >PQ: 0 ANSI: 0 CCS > > [37910.040402] sr1: scsi3-mmc drive: 0x/0x caddy > > [37910.040821] sr 7:0:0:0: Attached scsi CD-ROM sr1 > > [37911.023887] usb 2-1: USB disconnect, device number 5 > > [37911.780107] usb 2-1: new high-speed USB device number 6 using ehci_hcd > > [37911.894782] usb 2-1: New USB device found, idVendor=1076, idProduct=8002 > > [37911.894788] usb 2-1: New USB device strings: Mfr=1, Product=2, > > SerialNumber=0 > > [37911.894792] usb 2-1: Product: Modem Yota > > [37911.894796] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc > > [37911.895640] rndis_host 2-1:1.0: dev can't take 1558 byte packets > > (max 1458), adjusting MTU to 1400 > > [37911.896799] rndis_host 2-1:1.0: eth1: register 'rndis_host' at > > usb-:00:1d.7-1, RNDIS device, 00:09:3b:f0:1a:40 > > [37911.910891] systemd-udevd[14153]: renamed network interface eth1 to yota > > [37922.034017] yota: no IPv6 routers present > > ~~~ > > > > The device seems to contain a DHCP-server that always provides the > > same settings: 10.0.0.10/24 gw/dns 10.0.0.1. > > The server is rather buggy so I've sticked to static IP configuration in NM. > > > > You can't really configure it — it just works. Through the web > > interface you can check connection status, > > update firmware (they say, you won't need this, because it will be > > updated automatically), and > > switch the device on/off (the relevant code is commented out in HTML > > for some reason, though it does work). > > > > Web GUI gets status from http://10.0.0.1/status. I bet, their software > > for Windows and Mac > > gets data the same way.The data looks like this: > > ~~ > > InterfaceType=lte > > 3GPP.IMSI= > > 3GPP.UICC-ID= > > 3GPP.IMEI= > > 3GPP.IMEISV= > > DeviceName=Modem Yota > > RfVersion=no information > > AsicVersion=GDM7240R1 > > FirmwareVersion=3.7 > > State=Connected > > UpdateState=NotStarted > > UpdateProgress=0 > > ConnectedTime=894 > > 3GPP.SINR=4 > > 3GPP.RSSI=-86 > > 3GPP.MCC=250 > > 3GPP.MNC=11 > > 3GPP.PLMN=25011 > > 3GPP.RoamingStatus=0 > > 3GPP.CGI=25011BF2A900 > > 3GPP.CI=BF2A900 > > 3GPP.eNBID=BF2A9 > > 3GPP.HNBN= > > 3GPP.CSGT= > > 3GPP.CenterFreq=2642500 > > 3GPP.TxPWR=23.0 > > 3GPP.SPN=Yota > > SessionID=3420730 > > 3GPP.IsIdle=0 > > IP=10.138.173.239 > > SubnetMask=255.255.255.0 > > DefaultGateway=10.0.0.1 > > DHCP=10.0.0.1 > > DNS=10.0.0.1 > > SentBytes=97808 > > ReceivedBytes=253845 > > MaxDownlinkThroughput=99232 > > MaxUplinkThroughput=88064 > > CurDownlinkThroughput=53480 > > CurUplinkThroughput=13048 > > TotalHandoversCount=0 > > SucceededHandoversCount=0 > > NewFirmwareVersion= > > 3GPP.RSRP=-116 > > 3GPP.RSRQ=-11.0 > > MSISDN= > > SupportsConnectDisabling=0 > > CQI=8 > > DownlinkMCSMain=3,9,6 > > DownlinkMCSDiv=3,6,4 > > UplinkMCS=3,4,2 > > NBRi=earfcn,ci,rsrp > > ~~ > > > > ModemManager as in git master is really port-type agnostic; which means > that a plugin may use whatever method it needs to run specific steps in > each of the state machines available. > > For this specific usecase, I don't think it would be too hard to develop > a plugin using libsoup to run the periodic HT
Re: Custom device plugin
>> I'll assume these are the Yota LTE (LU150?) USB sticks based on the GCT >> chipset, vid 1076 > > That's right. > > >> pid 8003. If not please elighten me :) > > At least my modem has pid 8002. > > >> I'm happy to take a patch for these devices, but first we'd want a bit >> more information about it. How do they communicate with the host? Does >> the host actually need to configure them at all, or is the configuration >> all done through the device's web interface? > > They use RNDIS, so the host sees them as network interfaces (the > driver is rndis_host). > > lsusb: > > bDeviceClass2 Communications > idVendor 0x1076 GCT Semiconductor, Inc. > idProduct 0x8002 > iManufacturer 1 GCT SEMICONDUCTOR Inc > iProduct2 Modem Yota > bInterfaceClass 224 Wireless > bInterfaceSubClass 1 Radio Frequency > bInterfaceProtocol 3 RNDIS > > > dmesg: > ~~~ > [37908.902059] usb 2-1: new high-speed USB device number 5 using ehci_hcd > [37909.016784] usb 2-1: New USB device found, idVendor=1076, idProduct=8001 > [37909.016790] usb 2-1: New USB device strings: Mfr=1, Product=2, > SerialNumber=0 > [37909.016795] usb 2-1: Product: Modem Yota > [37909.016799] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc > [37909.017941] scsi7 : usb-storage 2-1:1.0 > [37910.020806] scsi 7:0:0:0: CD-ROMGDM Mass >PQ: 0 ANSI: 0 CCS > [37910.040402] sr1: scsi3-mmc drive: 0x/0x caddy > [37910.040821] sr 7:0:0:0: Attached scsi CD-ROM sr1 > [37911.023887] usb 2-1: USB disconnect, device number 5 > [37911.780107] usb 2-1: new high-speed USB device number 6 using ehci_hcd > [37911.894782] usb 2-1: New USB device found, idVendor=1076, idProduct=8002 > [37911.894788] usb 2-1: New USB device strings: Mfr=1, Product=2, > SerialNumber=0 > [37911.894792] usb 2-1: Product: Modem Yota > [37911.894796] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc > [37911.895640] rndis_host 2-1:1.0: dev can't take 1558 byte packets > (max 1458), adjusting MTU to 1400 > [37911.896799] rndis_host 2-1:1.0: eth1: register 'rndis_host' at > usb-:00:1d.7-1, RNDIS device, 00:09:3b:f0:1a:40 > [37911.910891] systemd-udevd[14153]: renamed network interface eth1 to yota > [37922.034017] yota: no IPv6 routers present > ~~~ > > The device seems to contain a DHCP-server that always provides the > same settings: 10.0.0.10/24 gw/dns 10.0.0.1. > The server is rather buggy so I've sticked to static IP configuration in NM. > > You can't really configure it — it just works. Through the web > interface you can check connection status, > update firmware (they say, you won't need this, because it will be > updated automatically), and > switch the device on/off (the relevant code is commented out in HTML > for some reason, though it does work). > > Web GUI gets status from http://10.0.0.1/status. I bet, their software > for Windows and Mac > gets data the same way.The data looks like this: > ~~ > InterfaceType=lte > 3GPP.IMSI= > 3GPP.UICC-ID= > 3GPP.IMEI= > 3GPP.IMEISV= > DeviceName=Modem Yota > RfVersion=no information > AsicVersion=GDM7240R1 > FirmwareVersion=3.7 > State=Connected > UpdateState=NotStarted > UpdateProgress=0 > ConnectedTime=894 > 3GPP.SINR=4 > 3GPP.RSSI=-86 > 3GPP.MCC=250 > 3GPP.MNC=11 > 3GPP.PLMN=25011 > 3GPP.RoamingStatus=0 > 3GPP.CGI=25011BF2A900 > 3GPP.CI=BF2A900 > 3GPP.eNBID=BF2A9 > 3GPP.HNBN= > 3GPP.CSGT= > 3GPP.CenterFreq=2642500 > 3GPP.TxPWR=23.0 > 3GPP.SPN=Yota > SessionID=3420730 > 3GPP.IsIdle=0 > IP=10.138.173.239 > SubnetMask=255.255.255.0 > DefaultGateway=10.0.0.1 > DHCP=10.0.0.1 > DNS=10.0.0.1 > SentBytes=97808 > ReceivedBytes=253845 > MaxDownlinkThroughput=99232 > MaxUplinkThroughput=88064 > CurDownlinkThroughput=53480 > CurUplinkThroughput=13048 > TotalHandoversCount=0 > SucceededHandoversCount=0 > NewFirmwareVersion= > 3GPP.RSRP=-116 > 3GPP.RSRQ=-11.0 > MSISDN= > SupportsConnectDisabling=0 > CQI=8 > DownlinkMCSMain=3,9,6 > DownlinkMCSDiv=3,6,4 > UplinkMCS=3,4,2 > NBRi=earfcn,ci,rsrp > ~~ > ModemManager as in git master is really port-type agnostic; which means that a plugin may use whatever method it needs to run specific steps in each of the state machines available. For this specific usecase, I don't think it would be too hard to develop a plugin using libsoup to run the periodic HTTP-GET requests to the built-in webserver in order to get these values. Additional changes in the core may still be needed, though, as currently we always require to have a 'primary' port available, either AT or QMI. In this case we could extend the list with an 'HTTP-based' primary port :-) -- Aleksander
Re: Custom device plugin
> I'll assume these are the Yota LTE (LU150?) USB sticks based on the GCT > chipset, vid 1076 That's right. > pid 8003. If not please elighten me :) At least my modem has pid 8002. > I'm happy to take a patch for these devices, but first we'd want a bit > more information about it. How do they communicate with the host? Does > the host actually need to configure them at all, or is the configuration > all done through the device's web interface? They use RNDIS, so the host sees them as network interfaces (the driver is rndis_host). lsusb: bDeviceClass2 Communications idVendor 0x1076 GCT Semiconductor, Inc. idProduct 0x8002 iManufacturer 1 GCT SEMICONDUCTOR Inc iProduct2 Modem Yota bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 3 RNDIS dmesg: ~~~ [37908.902059] usb 2-1: new high-speed USB device number 5 using ehci_hcd [37909.016784] usb 2-1: New USB device found, idVendor=1076, idProduct=8001 [37909.016790] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [37909.016795] usb 2-1: Product: Modem Yota [37909.016799] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc [37909.017941] scsi7 : usb-storage 2-1:1.0 [37910.020806] scsi 7:0:0:0: CD-ROMGDM Mass PQ: 0 ANSI: 0 CCS [37910.040402] sr1: scsi3-mmc drive: 0x/0x caddy [37910.040821] sr 7:0:0:0: Attached scsi CD-ROM sr1 [37911.023887] usb 2-1: USB disconnect, device number 5 [37911.780107] usb 2-1: new high-speed USB device number 6 using ehci_hcd [37911.894782] usb 2-1: New USB device found, idVendor=1076, idProduct=8002 [37911.894788] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [37911.894792] usb 2-1: Product: Modem Yota [37911.894796] usb 2-1: Manufacturer: GCT SEMICONDUCTOR Inc [37911.895640] rndis_host 2-1:1.0: dev can't take 1558 byte packets (max 1458), adjusting MTU to 1400 [37911.896799] rndis_host 2-1:1.0: eth1: register 'rndis_host' at usb-:00:1d.7-1, RNDIS device, 00:09:3b:f0:1a:40 [37911.910891] systemd-udevd[14153]: renamed network interface eth1 to yota [37922.034017] yota: no IPv6 routers present ~~~ The device seems to contain a DHCP-server that always provides the same settings: 10.0.0.10/24 gw/dns 10.0.0.1. The server is rather buggy so I've sticked to static IP configuration in NM. You can't really configure it — it just works. Through the web interface you can check connection status, update firmware (they say, you won't need this, because it will be updated automatically), and switch the device on/off (the relevant code is commented out in HTML for some reason, though it does work). Web GUI gets status from http://10.0.0.1/status. I bet, their software for Windows and Mac gets data the same way.The data looks like this: ~~ InterfaceType=lte 3GPP.IMSI= 3GPP.UICC-ID= 3GPP.IMEI= 3GPP.IMEISV= DeviceName=Modem Yota RfVersion=no information AsicVersion=GDM7240R1 FirmwareVersion=3.7 State=Connected UpdateState=NotStarted UpdateProgress=0 ConnectedTime=894 3GPP.SINR=4 3GPP.RSSI=-86 3GPP.MCC=250 3GPP.MNC=11 3GPP.PLMN=25011 3GPP.RoamingStatus=0 3GPP.CGI=25011BF2A900 3GPP.CI=BF2A900 3GPP.eNBID=BF2A9 3GPP.HNBN= 3GPP.CSGT= 3GPP.CenterFreq=2642500 3GPP.TxPWR=23.0 3GPP.SPN=Yota SessionID=3420730 3GPP.IsIdle=0 IP=10.138.173.239 SubnetMask=255.255.255.0 DefaultGateway=10.0.0.1 DHCP=10.0.0.1 DNS=10.0.0.1 SentBytes=97808 ReceivedBytes=253845 MaxDownlinkThroughput=99232 MaxUplinkThroughput=88064 CurDownlinkThroughput=53480 CurUplinkThroughput=13048 TotalHandoversCount=0 SucceededHandoversCount=0 NewFirmwareVersion= 3GPP.RSRP=-116 3GPP.RSRQ=-11.0 MSISDN= SupportsConnectDisabling=0 CQI=8 DownlinkMCSMain=3,9,6 DownlinkMCSDiv=3,6,4 UplinkMCS=3,4,2 NBRi=earfcn,ci,rsrp ~~ -- Кирилл Елагин ___ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Custom device plugin
On Fri, 2012-08-31 at 23:06 +, Kirill Elagin wrote: > Hi, > > > I hardly know anything about NetworkManager internals, but I've > recently got a question and I've decided to just ask it here instead > of doing lots of researching, so excuse me, please, if the answer is > obvious. > > > Here in Russia we have a company, Yota, that provides LTE access > through custom-made modems. Those modems use RNDIS, so NetworkManager > thinks they are just network adapters. But they are wireless modems > and I want NetworkManager to display, say, signal level as it does > with UMTS-modems. The devices have a built-in web-server that provides > status information, so obtaining it is just a matter of an > HTTP-request and here is the question: is it possible to make > NetworkManager recognise those devices and display that information > (plugin or something)? I'll assume these are the Yota LTE (LU150?) USB sticks based on the GCT chipset, vid 1076 pid 8003. If not please elighten me :) I'm happy to take a patch for these devices, but first we'd want a bit more information about it. How do they communicate with the host? Does the host actually need to configure them at all, or is the configuration all done through the device's web interface? I couldn't find configuration guides at all anywhere, so I can't really figure it out myself. Dan > > Thanks. > > > -- > Кирилл Елагин > > ___ > networkmanager-list mailing list > networkmanager-list@gnome.org > https://mail.gnome.org/mailman/listinfo/networkmanager-list ___ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Custom device plugin
2012/9/8 Marius Kotsbak > > > On Sep 7, 2012 8:43 PM, "Kirill Elagin" wrote: > > > > Hi, > > > > I hardly know anything about NetworkManager internals, but I've recently > > got a question and I've decided to just ask it here instead of doing lots of > > researching, so excuse me, please, if the answer is obvious. > > > > Here in Russia we have a company, Yota, that provides LTE access through > > custom-made modems. Those modems use RNDIS, so NetworkManager thinks they > > are just network adapters. > > Is it identifiable somehow, e.g. by a unique USB ID or name of the virtual > network adapter, so that NM could know if that plugin should be used? > > -- > Marius Well, yes, of course, you can identify it by VendorId+ProductId. I'm currently using it to make udev assign a custom interface name. -- Кирилл Елагин ___ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Custom device plugin
On Sep 7, 2012 8:43 PM, "Kirill Elagin" wrote: > > Hi, > > I hardly know anything about NetworkManager internals, but I've recently got a question and I've decided to just ask it here instead of doing lots of researching, so excuse me, please, if the answer is obvious. > > Here in Russia we have a company, Yota, that provides LTE access through custom-made modems. Those modems use RNDIS, so NetworkManager thinks they are just network adapters. Is it identifiable somehow, e.g. by a unique USB ID or name of the virtual network adapter, so that NM could know if that plugin should be used? -- Marius ___ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list