Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 May 2008 16:37:05 +0200
From:      Matthias Apitz <matthias.apitz@oclc.org>
To:        Volker <volker@vwsoft.com>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: nozomi driver (was: Vodafone Mobile Connect HSDPA/UMTS/EDGE datacard supported?)
Message-ID:  <20080504143704.GA2571@rebelion.Sisis.de>
In-Reply-To: <481C6A3D.6030007@vwsoft.com>
References:  <20080503064135.GA2355@rebelion.Sisis.de> <481C6A3D.6030007@vwsoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@oclc.org> - w http://www.oclc.org/ http://www.UnixArea.de/
b http://gurucubano.blogspot.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080504143704.GA2571>