Subject: Re: Huawei E220 support?
To: Marco Trillo <marcotrillo@gmail.com>
From: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
List: current-users
Date: 11/17/2007 07:56:41
Hello. I have a similar device from Novatel which has a modem and a
sd reader in it. Right now, it shows up as only an sd reader. Could you
describe the work around you used to get it to show up as a serial port
and as an sd device, or, failing that, just a serial device?
-thanks
-Brian
On Nov 17, 3:34pm, "Marco Trillo" wrote:
} Subject: Re: Huawei E220 support?
} Hi,
}
} On 11/16/07, Michael van Elst <mlelstv@serpens.de> wrote:
} > marcotrillo@gmail.com ("Marco Trillo") writes:
} >
} > >detected as a umass(4). To make it work with ubsa(4) you just need to
} > >make ubsa(4) recognize it as a supported model (its identifier is
} > >already included in 'usbdevs').
} >
} > Yes, it is supposed to work.
}
} Indeed, it works (at least I can talk with the device). However, it
} needs to be plugged two times (keeping the 'assistant power' link
} connected):
}
} (first time)
} Nov 17 14:43:43 ununoctium /netbsd: ubsa0 at uhub0 port 1
} Nov 17 14:43:43 ununoctium /netbsd: ubsa0: HUAWEI Technologies HUAWEI
} Mobile, rev 1.10/0.00, addr 3
} Nov 17 14:43:43 ununoctium /netbsd: ubsa0: Could not find interrupt in
} Nov 17 14:43:49 ununoctium /netbsd: ubsa0: at uhub0 port 1 (addr 3) disconnected
} Nov 17 14:43:49 ununoctium /netbsd: ubsa0 detached
} (second time)
} Nov 17 14:44:05 ununoctium /netbsd: ubsa0 at uhub0 port 1
} Nov 17 14:44:05 ununoctium /netbsd: ubsa0: HUAWEI Technologies HUAWEI
} Mobile, rev 1.10/0.00, addr 3
} Nov 17 14:44:05 ununoctium /netbsd: ucom0 at ubsa0
}
} Apparently, it requires some quirk to switch from the mass storage
} mode to the serial adapter mode; but with the workaround of replugging
} it, it works with ubsa(4).
}
} It may not be exactly an ubsa; this message appears multiple times
} when you open a connection to the serial device:
} ubsa0: ubsa_request: STALLED
} but the serial link works.
}
} > >Perhaps the difficult thing will be configuring PPP to issue all the
} > >needed commands for the device to work (send PIN, select UMTS/GPRS/etc
} > >network, etc.).
} >
} > You need to set the pin once.
} >
} > AT+CPIN? query wether PIN is set
} > AT+CPIN=XXXX set PIN
} >
} > The 'endpoint' depends on the provider.
} >
} > AT_OPSYS=3,2
} > AT+CGDCONF=1,"IP","..endpoint.."
} > ATD*99***1#
}
} At the moment I could not get the PPP to work.
}
} I have a provider-customized Mac OS X binary that configures the modem
} under Mac OS X (prompts for the pin, selects network to use, displays
} signal strength, etc.). After this program configures it, you can use
} the PPP utility with a custom modem script to open a connection.
}
} So I ran the Mac OS X binary under 'ktrace' and took note of exactly
} what commands it writes to the modem tty. The commands that the PPP
} modem script utility writes can be got from the system log.
} So I wrote a chat(8) script which writes exactly the same commands
} (even the ones which are only informative).
}
} But, oddly enough, there is one command that does not produce the same
} result from my chat(8) script that from the Mac OS X binary.
}
} The command is 'ATE0V1E1X1^SYSCFG=2,2,3FFFFFFF,1,2'. This command is
} run just after the AT+CPIN=XXXX command.
} Under the Mac OS X binary, the modem returns a 'OK' response.
} But from my chat(8) script, it returns the following:
}
} Nov 17 14:00:35 ununoctium chat[1501]: send
} (ATE0V1E1X1^SYSCFG=2,2,3FFFFFFF,1,2^M)
} Nov 17 14:00:36 ununoctium chat[1501]: expect (OK)
} Nov 17 14:00:36 ununoctium chat[1501]: ^M
} Nov 17 14:00:36 ununoctium chat[1501]: ATE0V1E1X1^SYSCFG=2,2,3FFFFFFF,1,2^M^M
} Nov 17 14:00:36 ununoctium chat[1501]: COMMAND NOT SUPPORT^M
}
} I tried to do a delay before this command, but still the same.
}
} Anyway I just commented out this command and it seems to work just
} fine... except that just after connecting, it hangs up immediately.
}
} Nov 17 14:52:30 ununoctium chat[758]: send (ATD*99***1#^M)
} Nov 17 14:52:30 ununoctium chat[758]: expect (CONNECT)
} Nov 17 14:52:30 ununoctium chat[758]: ^M
} Nov 17 14:52:30 ununoctium chat[758]: ATD*99***1#^M^M
} Nov 17 14:52:30 ununoctium chat[758]: CONNECT
} Nov 17 14:52:30 ununoctium chat[758]: -- got it
} Nov 17 14:52:30 ununoctium chat[758]: send ()
} Nov 17 14:52:30 ununoctium pppd[1215]: Serial connection established.
} Nov 17 14:52:30 ununoctium pppd[1215]: Using interface ppp0
} Nov 17 14:52:30 ununoctium pppd[1215]: Connect: ppp0 <--> /dev/ttyU0
} Nov 17 14:52:30 ununoctium pppd[1215]: Modem hangup
} Nov 17 14:52:30 ununoctium pppd[1215]: Connection terminated.
} Nov 17 14:52:32 ununoctium pppd[1215]: Exit.
}
} If I use a simpler chat(8) script which does just the basic stuff, I
} get the same results: immediate hangup.
}
} Perhaps this is a defective pppd configuration.
}
} In contrast, this is what pppd(8) logs in the Mac OS X console:
}
} Nov 17 13:38:31 marco-trillos-computer ccl[388]: CCLWrite : ATD*99***1#\13
} Nov 17 13:38:31 marco-trillos-computer ccl[388]: CCLMatched : CONNECT
} Nov 17 13:38:34 marco-trillos-computer pppd[386]: Connect: ppp0 <-->
} /dev/cu.HUAWEIMobile-Modem
} Nov 17 13:38:38 marco-trillos-computer pppd[386]: Could not determine
} remote IP address: defaulting to 10.64.64.64
} Nov 17 13:38:38 marco-trillos-computer pppd[386]: local IP address
} 77.209.27.189
} Nov 17 13:38:38 marco-trillos-computer pppd[386]: remote IP address 10.64.64.64
} Nov 17 13:38:38 marco-trillos-computer pppd[386]: primary DNS
} address 212.73.32.3
} Nov 17 13:38:38 marco-trillos-computer pppd[386]: secondary DNS
} address 212.73.32.67
}
} Any ideas?
}
} Thanks,
} Marco.
>-- End of excerpt from "Marco Trillo"