[RFC] TI Calypso / HTC firmware support
philipp.zabel at gmail.com
Sun Apr 1 12:21:28 CEST 2007
On 3/30/07, Harald Welte <laforge at openmoko.org> wrote:
> On Wed, Mar 28, 2007 at 09:04:06PM +0200, pHilipp Zabel wrote:
> > >yes. As usual, my time is limited. So for the time being, it will
> > >probably be the two different multiplexes...
> > Ok, fine. This leaves me wondering how to select the line discipline.
> > The CGMI/CGMM queries below obviously can't be used until we have the
> > AT communication channel set up. A command line parameter? Reading
> > /proc/cpuinfo? Different implementations with similar behaviour using
> > the same N_GSM ldisc number?
> well, the difference between standards-compliant mux and the htc mux
> seems to be that the standards-compliant mux is backwards compatible.
> i.e. you can use the UART for AT commands until you issue AT+CMUX, after
> which you have to attach the line discipline.
> This fits nicely in the control flow model that I have thought about
> with gsmd.
> Now in the case of HTC (or IIRC even motorola EZX phone) mux, we'll need
> to have a line discipline even before starting to talk to the modem.
> So I guess, we cannot really do auto-detection :(
At least not for TI/HTC and EZX modems. My proposal:
1) gsmd has a --machine parameter to select the machine plugin.
2) gsmd calls machine plugin initialization. If no --machine parameter
was given, it checks the /proc/cpuinfo Hardware field for a match. If
no machine is found, a generic machine is used (standards compliant
behaviour, no initial line disc. etc.)
3) now that the machine is determined, the machine plugin is loaded. and:
> Something like a per-machine-plugin pre-init callback (before we send the init
> strings) should take care of attaching the ldisc.
4) we can now (hopefully) talk to the modem. if the machine plugin has
not yet determined the vendor plugin to be used (generic machine),
autodetection via AT+CGMI/CGMM could be done.
More information about the gsmd-devel