Как заставить Huawei E3276 работать

У меня проблема с моим новым USB-модемом Huawei E3276. Я нашел решение, которое цитирую (оригинальное сообщение: https://answers.launchpad.net/ubuntu/+source/gnome-nettool/+question/211095 ):

" При поддержке сообщества Linux теперь поддерживается Huawei E3276 (см. Ветку здесь http://lists.freedesktop.org/archives/libqmi-devel/2012-November/thread.html ). обновил драйвер cdc_ncm.ko и затем подключился к

echo -e "AT^NDISDUP=1,1,\"online.telia.se\"\r" > /dev/ttyUSB0
dhclient wwan0

Предполагая, что вы предварительно настроили переключатель режимов USB с:

echo "12d1 1506" > /sys/bus/usb-serial/drivers/option1/new_id

Работает с Telia в Швеции.

вставьте это в основную ветку linux в ближайшее время, но если вы хотите взломать, вы можете обновить

drivers/net/usb/cdc_ncm.c 

следующим образом:

diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index 4cd582a..74fab1a 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -540,10 +540,12 @@ advance:
  (ctx->ether_desc == NULL) || (ctx->control != intf))
   goto error;

- /* claim interfaces, if any */
- temp = usb_driver_claim_interface(driver, ctx->data, dev);
- if (temp)
- goto error;
+ /* claim data interface, if different from control */
+ if (ctx->data != ctx->control) {
+ temp = usb_driver_claim_interface(driver, ctx->data, dev);
+ if (temp)
+ goto error;
+ }

  iface_no = ctx->data->cur_altsetting->desc.bInterfaceNumber;

@@ -623,6 +625,10 @@ static void cdc_ncm_unbind(struct usbnet *dev, struct usb_interface *intf)

  tasklet_kill(&ctx->bh);

+ /* handle devices with combined control and data interface */
+ if (ctx->control == ctx->data)
+ ctx->data = NULL;
+
   /* disconnect master --> disconnect slave */
  if (intf == ctx->control && ctx->data) {
   usb_set_intfdata(ctx->data, NULL);
@@ -1245,6 +1251,14 @@ static const struct usb_device_id cdc_devs[] = {
     .driver_info = (unsigned long) &wwan_info,
  },

+ /* Huawei NCM devices disguised as vendor specific */
+ { USB_VENDOR_AND_INTERFACE_INFO(0x12d1, 0xff, 0x02, 0x16),
+ .driver_info = (unsigned long)&wwan_info,
+ },
+ { USB_VENDOR_AND_INTERFACE_INFO(0x12d1, 0xff, 0x02, 0x46),
+ .driver_info = (unsigned long)&wwan_info,
+ },
+
  /* Generic CDC-NCM devices */
  { USB_INTERFACE_INFO(USB_CLASS_COMM,
   USB_CDC_SUBCLASS_NCM, USB_CDC_PROTO_NONE),"

У меня свежая установка Ubuntu 12.10 и Моя проблема, прежде всего, в том, что я не знаю, как редактировать в

drivers/net/usb/cdc_ncm.c. 

Нужно ли что-то устанавливать, прежде чем я смогу редактировать cdc_ncm.c? Спасибо за вашу помощь!

1
задан 11 September 2013 в 11:09

0 ответов

Другие вопросы по тегам:

Похожие вопросы: