# Necesito ayuda con Modem Huawei 303C [Solucionado/Solved]

## GregToo

He intentado instalar un módem de prepago en gentoo a través de Network Manager

El problema es que el sistema reconoce al dispositivo como un CDROM y no como un módem

Navegando descubrí que para solucionar este problema se creo el software

usb_modeswitch

el cual hace el cambio de una unidad de archivos a uno de conectividad para que sea reconocido por udev correctamente

con lsusb obtengo

Bus 002 Device 005: ID 12d1:14fe Huawei Technologies

Luego, siguiendo las recomendaciones de algunos foros creo las siguientes reglas:

~#leafpad  /etc/usb_modeswitch.d/12d1:14fe  

######################################################## 

# Huawei, E353 

DefaultVendor= 0x12d1 

DefaultProduct=0x14fe 

TargetVendor= 0x12d1 

TargetProduct=0x1506 

CheckSuccess=20 

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

########################################################

y también una regla para udev

~# leafpad  /lib/udev/rules.d/40-usb_modeswitch.rules

##################################

# Huawei E353 

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14fe", RUN+="usb_modeswitch '%b/%k'"

##################################

ahora esto trae como resultado el SWITCH a TargetProduct ID 0x150f

el cual sigue siendo reconocido como CDROM

en foros de Ubuntu y Opensuse las reglas anteriores han funcionado con el Huawei 303c reconociendo al módem con el ID 0x1506

AHORA POSTEO EL LOG DE USB_MODESWITCH

USB_ModeSwitch log from Wed Aug 21 22:27:16 CLT 2013

Raw args from udev: /2-1.5:1.0

Using global config file: /etc/usb_modeswitch.conf

Using top device dir /sys/bus/usb/devices/2-1.5

Using interface 1.0

----------------

USB values from sysfs:

  manufacturer	HUAWEI

  product	HUAWEI Mobile

  serial	

----------------

bNumConfigurations is 1 - don't check for active configuration

SCSI attributes not needed, moving on

checking config: /usr/share/usb_modeswitch/12d1:14fe

! matched. Reading config data

config: TargetVendor set to 12d1

config: TargetProduct set to 1506

Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1

Command to be run:

usb_modeswitch -W -D -s 20 -u -1 -b 2 -g 6 -v 12d1 -p 14fe -f $configBuffer

Verbose debug output of usb_modeswitch and libusb follows

(Note that some USB errors are to be expected in the process)

--------------------------------

Reading long config from command line

 * usb_modeswitch: handle USB devices with multiple modes

 * Version 1.2.5 (C) Josua Dietze 2012

 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x12d1

DefaultProduct= 0x14fe

TargetVendor=   0x12d1

TargetProduct=  0x1506

TargetClass=    not set

TargetProductList=""

DetachStorageOnly=0

HuaweiMode=0

SierraMode=0

SonyMode=0

QisdaMode=0

GCTMode=0

KobilMode=0

SequansMode=0

MobileActionMode=0

CiscoMode=0

MessageEndpoint=  not set

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

NeedResponse=0

ResponseEndpoint= not set

InquireDevice disabled

Success check enabled, max. wait time 20 seconds

System integration mode enabled

Use given bus/device number: 002/006 ...

Looking for default devices ...

 bus/device number matched

  searching devices, found USB ID 12d1:14fe

   found matching vendor ID

   found matching product ID

   adding device

 Found device in default mode, class or configuration (1)

Skipping the check for the current configuration

Using interface number 0

Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)

-------------------------

Manufacturer: HUAWEI

     Product: HUAWEI Mobile

  Serial No.: not provided

-------------------------

Looking for active driver ...

 OK, driver found; name unknown, limitation of libusb1

 OK, driver "unkown" detached

Setting up communication with interface 0

Using endpoint 0x01 for message sending ...

Trying to send message 1 to endpoint 0x01 ...

libusb: 0.000000 error [op_clear_halt] clear_halt failed error -1 errno 71

libusb: 0.004239 error [op_clear_halt] clear_halt failed error -1 errno 71

libusb: 0.204327 error [op_release_interface] release interface failed, error -1 errno 22

 OK, message successfully sent

Resetting response endpoint 0x81

 Could not reset endpoint (probably harmless): -34

Resetting message endpoint 0x01

 Could not reset endpoint (probably harmless): -34

 Device is gone, skipping any further commands

Bus/dev search active, referring success check to wrapper. Bye.

ok:busdev

--------------------------------

(end of usb_modeswitch output)

Checking success of mode switch for max. 20 seconds ...

 Waiting for device file system (1 sec.) ...

 Waiting for device file system (2 sec.) ...

 Waiting for device file system (3 sec.) ...

 Waiting for device file system (4 sec.) ...

 Waiting for device file system (5 sec.) ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

 Reading attributes ...

Target config not matching - current values are

    2-1.5:1.0/bInterfaceClass: ff

    bConfigurationValue:       1

    bNumConfigurations:        1

    busnum:                    2

    devnum:                    7

    idProduct:                 150f

    idVendor:                  12d1

    manufacturer:              HUAWEI

    product:                   HUAWEI Mobile

    serial:                    

Mode switching may have failed. Exiting

ESTA ES TODA LA INFORMACIÓN DE LA QUE DISPONGO....

como último dato les cuento que uso la version estable de usb_modeswitch 1.2.5_p20121109Last edited by GregToo on Tue Aug 27, 2013 6:03 pm; edited 2 times in total

----------

## quilosaq

Creo que las cosas son mas simples que lo que has hecho hasta ahora:

Comprueba que tienes udev funcionando:  

```
rc-status -a | grep 'udev '
```

Elimina los archivos que has creado:

/etc/usb_modeswitch.d/12d1:14fe

/lib/udev/rules.d/40-usb_modeswitch.rules

Sigue esta guía para configurar algunas opciones del kernel: http://wiki.gentoo.org/wiki/USB_mobile_broadband_modem

Reinstala usb_modeswitch

Desconecta el modem

Reinicia

Abre una consola

Ejecuta: dmesg -w

Postea lo que sale

----------

## GregToo

 *quilosaq wrote:*   

> Creo que las cosas son mas simples que lo que has hecho hasta ahora:
> 
> Comprueba que tienes udev funcionando:  
> 
> ```
> ...

 

Hola...gracias por responder

rc-status -a | grep 'udev '

udev      [started]

dmesg -w

completo    http://pastebin.com/D3viyDRa

los eventos despues de conectar el Modem   http://pastebin.com/eGfCtDsk

con una mirada rápida de dmesg me doy cuenta que el kernel si reconoce

el modem y utiliza el driver GSM

en cuanto a la wiki USB_mobile_broadband_modem

tengo todo compilado en el kernel mas el USB generic serial driver

a excepción de xHCI (usb3.0) support   

me falta declarar la USE flag "usb" en make.conf   ( será esto necesario)

cuando ejectuto usb_modeswitch -W

 * usb_modeswitch: handle USB devices with multiple modes

 * Version 1.2.5 (C) Josua Dietze 2012

 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  not set

DefaultProduct= not set

TargetVendor=   not set

TargetProduct=  not set

TargetClass=    not set

TargetProductList=""

DetachStorageOnly=0

HuaweiMode=0

SierraMode=0

SonyMode=0

QisdaMode=0

QuantaMode=0

GCTMode=0

KobilMode=0

SequansMode=0

MobileActionMode=0

CiscoMode=0

MessageEndpoint=  not set

MessageContent=""

NeedResponse=0

ResponseEndpoint= not set

InquireDevice enabled (default)

Success check disabled

System integration mode disabled

No default vendor/product ID given. Aborting.

SALUDOS

----------

## quilosaq

 *GregToo wrote:*   

> ...
> 
> me falta declarar la USE flag "usb" en make.conf   ( será esto necesario)
> 
> ...

 No es necesario para lo que pretendes hacer.

 *GregToo wrote:*   

> ...
> 
> cuando ejectuto usb_modeswitch -W
> 
> ...

 Eso no sirve para nada. El comando, con los parámetros necesarios, ya ha sido ejecutado a través de una regla udev que proporciona el paquete usb_modeswitch.

La instalación del modem (3 en este caso) está completada. Está en /dev con nombres ttyUSB0, ttyUSB1 y ttyUSB2. Además, posiblemente, habrá un enlace simbólico llamado gsmmodem apuntando a alguno de ellos.

Quizá te interesen estas lecturas:

http://wiki.gentoo.org/wiki/PPP

http://wiki.gentoo.org/wiki/NetworkManager

----------

## GregToo

podría ser que el problema este en el soporte de networkmanager para mobiles_broadband 

de hecho network manager se compila sin 

modemmanager 	No 		Enable support for mobile broadband devices using net-misc/modemmanager

pero con 

ppp 	                       Yes 		Enable support for mobile broadband and PPPoE connections using net-dialup/ppp

o en net-dialip/ppp use flags

no se

almenos descarto el problema de reconocimiento del modem y modeswitch.

voy  acomenzar a googlear sobre networkmanager  y net-dialip/ppp 

tal vez falta algún soporte en especifico con las variables use

----------

## GregToo

Bueno...

Después de compilar networkmanager con la USE flag "modemmanager" ,el cual instala como dependencia el paquete

net-misc/modemmanager

la nm-applet me reconoció el módem huawei!!! y pude configurarlo, sin embargo

no se pudo establecer la conexión javascript:emoticon(' :Evil or Very Mad: ')

Extrañamente cuando inicie como root, la conexión se establecio en una ocasion (solo una)

y luego se fastidio nuevamente.

Quizá el próximo finde termine de arreglarlo si es posible ya que durante la semana hay que laburar..y estudiar.

a lo mejor udev utiliza el diver equivocado, ya que en algunos foros se soluciona con el diver USBSERIAL (modprobe) y no con

GSM como en este caso.

O actualizando el kernel a la versión 3.10 que ahora es estable ....quien sabe.

----------

## GregToo

Eureka !!!

Al parecer ya había cumplido con los requisitos necesarios para establecer la conexión, sin embargo no se

concreto ya que la dirección IP que me asignaba la conexión WI-FI entraba en conflicto.

Se debe apagar la red wi-fi y reiniciar la pc, para probar.

También es necesario definir correctamente si la conexión es tipo WEB o WAP.

Ahora detallo el resumen de los requisitos:

Es necesario compilar en el kernel:

Device Drivers --->

    [ * ] USB support --->

            <*>  USB Serial Converter support --->

                 <*>  USB Generic serial Driver                          #algunos modelos funcionan con este driver, según discusiones en foros

                 <*>  USB driver for GSM and CDMA modems      #para el modelo Huawei 303c udev utilizo este driver 

necesario para el protocolo ppp

Device Drivers --->

    [ * ] Network device support --->

          <*>   PPP (point-to-point protocol) support

          <*>   PPP support for async serial ports

          <*>   ppp support for sync tty ports        

          <*>   ppp BSD-Compress compression      

          <*>   PPP Deflate compression

He incluido mas módulos del protocolo ppp que los que aparecen en la wiki de gentoo, debido a la gran variedad de dispositivos

y tipos de conexiones, solo para estar seguro.     Además networkmanager ofrece las opciones de 2 tipos de compresión.

para terminar es necesario emerger net-misc/networkmanager con la variable USE "modemmanager", la cual pueden agregar respectivamente en  /etc/portage/package.use

como dependencia adicional se emergerá 

net-misc/modemmanager

y network manager tendrá soporte para este paquete.

por ultimo recomiendo utilizar NTM - Network Traffic Monitor          http://netramon.sourceforge.net/eng/index.html

para llevar el control del tiempo y los megas utilizados.   (oajala algun día este en el árbol de portage)

mis agradecimientos a QUILOSAQ quien me ayudo con udev y usb_modeswitch.

Acá tenia un error de compresión ya que suponía que modeswitch transformaba la unidad de storage

(el ID) en una del tipo módem para ser reconocido correctamente por udev.

Sin embargo simplemente asigna el ID del modem para udev sin dejar de asignar el de storage.

de hecho con dmesg pueden ver ambos asignados, o en  mi caso, que aun puedo ver en Thunar y en el escritorio

el CD-ROM de movistar. (no montado)

PD1: después de conectar el módem en el puerto USB tienen que darle un tiempo antes de establecer la conexión.

        Si intentan hacerlo de inmediato no va a funcionar!!

Saludos.....ya no tengo que botear más a win7   :Razz: 

----------

