nozomi driver (was: Vodafone Mobile Connect HSDPA/UMTS/EDGE datacard supported?)

Matthias Apitz matthias.apitz at oclc.org
Sun May 4 14:37:45 UTC 2008


El día Saturday, May 03, 2008 a las 03:35:57PM +0200, Volker escribió:

> Matthias,
> 
> no real life of a working driver, but a preliminary piece of code, which
> may get your device working can be found here:
> 
> http://bsd.vwsoft.com/3g/nozomi/
> 
> Please grab the Makefile and nozomi.c file.
> 
> Big fat warning: This code currently can't make it into the fBSD source
> tree, as it contains portions of GPL'd code.
> 
> At least you should get your device in a working state with that code.
> The host interface of that card is totally different to that of other
> cards so you won't have any luck with any other drive from the base system.
> 
> Please report back to me if you find any issues (as I'm not using 3G
> cards very often these days anymore).
> 
> HTH
> 
> Volker

Hi Volker,

Thanks for the piece of software. I run into a small problem compiling
the code nozomi.c because the function bus_setup_intr() awaits one more
argument as it was called in nozomi.c; I checked the man page of
bus_setup_intr() and other divers how they call it and came up with this
small patch:

*** nozomi.c	2008-05-04 16:14:15.406582000 +0200
--- nozomi.c.orig	2007-04-18 00:47:50.000000000 +0200
***************
*** 1204,1210 ****
  	nozomi_tty_init(sc);
  
  	/* setup interrupt and interrupt handler */
! 	if(bus_setup_intr(dev, sc->intr_res, INTR_TYPE_TTY , NULL, nozomi_interrupt_handler, sc, &sc->intr_cookie)) {
  		printf("unable to register interrupt handler\n");
  		goto fail;
  	}
--- 1204,1210 ----
  	nozomi_tty_init(sc);
  
  	/* setup interrupt and interrupt handler */
! 	if(bus_setup_intr(dev, sc->intr_res, INTR_TYPE_TTY , nozomi_interrupt_handler, sc, &sc->intr_cookie)) {
  		printf("unable to register interrupt handler\n");
  		goto fail;
  	}

With this change the driver compiles fine and loads fine with
'kldload ./nozomi.ko'

On card insert it says:

May  4 16:19:54 rebelion kernel: nozomi0: <Option N.V. GlobeTrotter 3G+> mem 0xc8309000-0xc83097ff irq 16 at device 0.0 on cardbus0
May  4 16:19:54 rebelion kernel: nozomi0: [GIANT-LOCKED]
May  4 16:19:54 rebelion kernel: nozomi0: [ITHREAD]
May  4 16:19:55 rebelion kernel: nozomi0: ver. 3 with 2048 bytes of memory
May  4 16:19:55 rebelion kernel: nozomi0: initialization complete

As the next step I wanted to check with some serial line tool (kermit) how the
card answers on AT commands, but I don't see any /dev file coming up in
user space; am I missing something? what should be the name of the
device in user space? Thanks in advance

	matthias
-- 
Matthias Apitz
Manager Technical Support - OCLC GmbH
Gruenwalder Weg 28g - 82041 Oberhaching - Germany
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e <matthias.apitz at oclc.org> - w http://www.oclc.org/ http://www.UnixArea.de/
b http://gurucubano.blogspot.com/


More information about the freebsd-mobile mailing list