NET: usb: sierra_net.c driver
Subsystems (3)
Subject: [ANNOUNCEMENT] NET: usb: sierra_net.c driver
From: Elina Pasheva <[email protected]>
The following is a new Linux driver which exposes certain models of Sierra Wireless modems to the operating system as Network Interface Cards (NICs).
This driver requires a version of the sierra.c driver which supports blacklisting to work properly. The blacklist in sierra.c rejects the interfaces claimed by sierra_net.c. Likewise, the sierra_net.c driver only accepts (i.e. whitelists) the interface(s) used for Direct IP traffic.
The term "Direct IP" is used within Sierra Wireless to refer to these alternate data interfaces. The version of sierra.c which supports blacklisting is available from the sierra wireless knowledge base page for older kernels. It is also available in Linux kernel starting from version 2.6.31.
This driver works with all Sierra Wireless devices configured with PID=68A3 like USB305, USB306 provided the corresponding firmware version is I2.0 (for USB305) or M3.0 (for USB306) and later.
This driver will not work with earlier firmware versions than the ones shown above. In this case the driver will issue an error message indicating incompatibility and will not serve the device's DirectIP interface.
Sierra_net.c sits atop a pre-existing Linux driver called usbnet.c. A series of hook functions are provided in sierra_net.c which are called by usbnet.c in response to a particular condition such as receipt or transmission of a data packet. As such, usbnet.c does most of the work of making a modem appear to the system as a network device and for properly exchanging traffic between the USB subsystem and the Network card interface. Sierra_net.c is concerned with managing the data exchanged between the so-called Direct-IP interface and the upper layers of the operating system.
The version number of sierra_net.c driver is set to 2.0. This patch has been tested on the latest stable kernel-2.6.33.1.
---
drivers/net/usb/Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/net/usb/Kconfig +10 -0
@@ -377,4 +377,14 @@ config USB_CDC_PHONET cellular modem, as found on most Nokia handsets with the "PC suite" USB profile. +config USB_SIERRA_NET + tristate "DirectIP Driver for Sierra Wireless modems" + depends on USB_USBNET + + help + Choose this option if you have a Sierra Wireless DirectIP device. + + To compile this driver as a module, choose M here: the + module will be called sierra_net. + endmenu
drivers/net/usb/Makefile | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/usb/Makefile +2 -0
@@ -22,4 +22,6 @@ obj-$(CONFIG_USB_NET_MCS7830) += mcs7830 obj-$(CONFIG_USB_USBNET) += usbnet.o obj-$(CONFIG_USB_NET_INT51X1) += int51x1.o obj-$(CONFIG_USB_CDC_PHONET) += cdc-phonet.o +obj-$(CONFIG_USB_SIERRA_NET) += sierra_net.o +
drivers/net/usb/sierra_net.c | 968 +++++++++++++++++++++++++++++++++ 1 file changed, 968 insertions(+)
drivers/net/usb/sierra_net.c +968 -0
969 lines not on this page · raw message
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello.
Quoted 30 lines · Elina Pasheva
Subject: [ANNOUNCEMENT] NET: usb:
sierra_net.cdriver
From: Elina Pasheva <[email protected]>The following is a new Linux driver which exposes certain models of Sierra Wireless modems to the operating system as Network Interface Cards (NICs).
This driver requires a version of the
sierra.cdriver which supports blacklisting to work properly. The blacklist insierra.crejects the interfaces claimed bysierra_net.c. Likewise, thesierra_net.cdriver only accepts (i.e. whitelists) the interface(s) used for Direct IP traffic.
The term "Direct IP" is used within Sierra Wireless to refer to these alternate data interfaces. The version ofsierra.cwhich supports blacklisting is available from the sierra wireless knowledge base page for older kernels. It is also available in Linux kernel starting from version 2.6.31.This driver works with all Sierra Wireless devices configured with PID=68A3
like USB305, USB306 provided the corresponding firmware version is I2.0
(for USB305) or M3.0 (for USB306) and later.
This driver will not work with earlier firmware versions than the ones shown
above. In this case the driver will issue an error message indicating incompatibility and will not serve the device's DirectIP interface.
Sierra_net.csits atop a pre-existing Linux driver calledusbnet.c. A series of hook functions are provided insierra_net.cwhich are called byusbnet.cin response to a particular condition such as receipt or transmission of a data packet. As such,usbnet.cdoes most of the work of making a modem appear to the system as a network device and for properly exchanging traffic between the USB subsystem and the Network card interface.Sierra_net.cis concerned with managing the data exchanged between the so-called Direct-IP interface and the upper layers of the operating system.
Quoted 5 lines
The version number of
sierra_net.cdriver is set to 2.0. This patch has been tested on the latest stable kernel-2.6.33.1.Signed-off-by Elina Pasheva <[email protected]>Signed-off-by Rory Filer <[email protected]>
I doubt that it's Rory's email address. :-)
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Elina,
drivers/net/usb/sierra_net.c line 928
Quoted 10 lines
drivers/net/usb/sierra_net.c +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description ="Sierra Wireless USB-Ethernet Modem" , + .flags =FLAG_ETHER |FLAG_SEND_ZLP , + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long )&sierra_net_info_data_68A3, +};
the FLAG_ETHER is wrong here. Please use FLAG_WWAN to clearly mark these interfaces.
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice benefit the interface name will be wwan%d by default as well.
Regards
Marcel
A message that is not in the archive (sent off-list or not yet received): 1269791821.11714.202.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/[email protected]
Quoted 16 lines · Marcel Holtmann
Hi Elina,
drivers/net/usb/sierra_net.c line 928
Quoted 10 lines
drivers/net/usb/sierra_net.c +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description ="Sierra Wireless USB-Ethernet Modem" , + .flags =FLAG_ETHER |FLAG_SEND_ZLP , + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long )&sierra_net_info_data_68A3, +};the
FLAG_ETHERis wrong here. Please useFLAG_WWANto clearly mark these interfaces.
Quoted 2 lines
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice
Why shouldn't that happen if they look like NIC cards?
Quoted 12 lines
benefit the interface name will be wwan%d by default as well.
Regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 11 lines
"They that give up essential liberty to obtain temporary safety, deserve neither liberty nor safety." (Ben Franklin) "The course of history shows that as a government grows, liberty decreases." (Thomas Jefferson) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 17 lines · Stephen Clark
Quoted 16 lines · Marcel Holtmann
Hi Elina,
drivers/net/usb/sierra_net.c line 928
Quoted 10 lines
drivers/net/usb/sierra_net.c +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description ="Sierra Wireless USB-Ethernet Modem" , + .flags =FLAG_ETHER |FLAG_SEND_ZLP , + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long )&sierra_net_info_data_68A3, +};the
FLAG_ETHERis wrong here. Please useFLAG_WWANto clearly mark these interfaces.
Quoted 3 lines
Quoted 2 lines
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice
Why shouldn't that happen if they look like NIC cards?
[...]
This information is important for management interfaces. The user doesn't care what your device looks like at the kernel level - they know it's a wireless broadband device and they expect to see a device labelled as such in Network Manager or whatever they use.
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 21 lines · Ben Hutchings
Quoted 17 lines · Stephen Clark
Quoted 16 lines · Marcel Holtmann
Hi Elina,
drivers/net/usb/sierra_net.c line 928
Quoted 10 lines
drivers/net/usb/sierra_net.c +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description ="Sierra Wireless USB-Ethernet Modem" , + .flags =FLAG_ETHER |FLAG_SEND_ZLP , + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long )&sierra_net_info_data_68A3, +};the
FLAG_ETHERis wrong here. Please useFLAG_WWANto clearly mark these interfaces.Quoted 3 lines
Quoted 2 lines
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice
Why shouldn't that happen if they look like NIC cards?
Quoted 9 lines
[...]
This information is important for management interfaces. The user doesn't care what your device looks like at the kernel level - they know it's a wireless broadband device and they expect to see a device labelled as such in Network Manager or whatever they use.
Ben.
You sound like a windows guy! Whats with everything having to use NetworkManager!? Are people so dumb they can't figure things out from the command line. If it acts like a NIC it should be a NIC. I am
so tired of eveyone trying to make Linux look and act like WINBLOWS.
Signature · 11 lines
"They that give up essential liberty to obtain temporary safety, deserve neither liberty nor safety." (Ben Franklin) "The course of history shows that as a government grows, liberty decreases." (Thomas Jefferson) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 24 lines · Stephen Clark
Quoted 23 lines · Ben Hutchings
Quoted 20 lines · Stephen Clark
Quoted 16 lines · Marcel Holtmann
Hi Elina,
Review
Quoted 10 lines
(quoted diff) +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description = "Sierra Wireless USB-Ethernet Modem", + .flags = FLAG_ETHER | FLAG_SEND_ZLP, + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long)&sierra_net_info_data_68A3, +};the
FLAG_ETHERis wrong here. Please useFLAG_WWANto clearly mark these interfaces.Quoted 2 lines
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice
Why shouldn't that happen if they look like NIC cards?
[...]
Quoted 8 lines
Quoted 7 lines
This information is important for management interfaces. The user doesn't care what your device looks like at the kernel level - they know it's a wireless broadband device and they expect to see a device labelled as such in Network Manager or whatever they use.
Ben.
You sound like a windows guy!
Guess again - I've been using Linux on my own desktops and laptops for 12 years.
Quoted 3 lines
Whats with everything having to use
NetworkManager!? Are people so dumb they can't figure things out from the command line.
Yes, people are so 'dumb' they actually want to use their computers without having to learn and remember every detail about them, and there's nothing wrong with that. Today I work on network drivers but I'll admit my ignorance of the details of WPA configuration and I'm happy to use Network Manager on my laptop.
Quoted 1 line
If it acts like a NIC it should be a NIC.
Users know that NICs have cables and this doesn't, so it's not a NIC.
Quoted 1 line
I am so tired of eveyone trying to make Linux look and act like WINBLOWS.
Written like a true fanboy.
If you don't mind, some of us have work to do.
Ben.
Signature · 8 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Stephen,
Quoted 14 lines
Quoted 14 lines
drivers/net/usb/sierra_net.c line 928
Quoted 10 lines
drivers/net/usb/sierra_net.c +10
-0+static const struct driver_info sierra_net_info_68A3 = { + .description ="Sierra Wireless USB-Ethernet Modem" , + .flags =FLAG_ETHER |FLAG_SEND_ZLP , + .bind = sierra_net_bind, + .unbind = sierra_net_unbind, + .status = sierra_net_status, + .rx_fixup = sierra_net_rx_fixup, + .tx_fixup = sierra_net_tx_fixup, + .data = (unsigned long )&sierra_net_info_data_68A3, +};the
FLAG_ETHERis wrong here. Please useFLAG_WWANto clearly mark these interfaces.
Quoted 3 lines
Quoted 2 lines
Otherwise we have wrong DEVTYPE uevent assignments and userspace will treat them as real Ethernet cards. And that should not happen. As a nice
Why shouldn't that happen if they look like NIC cards?
because they are not NIC cards. They just use Ethernet emulation. And they also require a management interface to setup APN and activate them first.
It is important that we tell userspace about the type of a network interface. We do the same for WiMAX and WiFi btw.
Regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
maintainerFrom: Marcel Holtmann <[email protected]>
Date: Mon, 29 Mar 2010 13:29:53 -0700
Quoted 6 lines
because they are not NIC cards. They just use Ethernet emulation. And they also require a management interface to setup APN and activate them first.
It is important that we tell userspace about the type of a network interface. We do the same for WiMAX and WiFi btw.
I completely agree with Marcel on this, please fix the device type.
A message that is not in the archive (sent off-list or not yet received): 20100329.134144.57458224.davem-fT/PcQaiUtIeIZ0/[email protected]
Quoted 7 lines · David Miller
From: Marcel Holtmann <[email protected]>
Date: Mon, 29 Mar 2010 13:29:53 -0700Quoted 4 lines
because they are not NIC cards. They just use Ethernet emulation. And they also require a management interface to setup APN and activate them first.
Quoted 6 lines
Quoted 2 lines
It is important that we tell userspace about the type of a network interface. We do the same for WiMAX and WiFi btw.
I completely agree with Marcel on this, please fix the device type.
Thank you all for reviewing the sierra_net driver and for your comments. We fixed the device type, re-tested and re-submitted the driver patch. Regards,
Elina
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html