Home > Samsung-GT-B3730-linux-driver

Samsung-GT-B3730-linux-driver

Samsung-GT-B3730-linux-driver is a project mainly written in C and SHELL, it's free.

USB network interface driver for Samsung Kalmia based USB LTE modems like GT-B3730 / GT-B3710 / GT-B3740


How to get the sources


Kernel 3.0+:

Get kalmia.c from: https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver-3.0/drivers/net/usb/kalmia.c

Option.c is already patched in that version.

Or the whole kernel from https://github.com/mkotsbak/linux-2.6/tree/Samsung_kalmia_driver-mainline

Kernel 2.6.38 (Ubuntu Natty):

Get kalmia.c from: https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver-2.6.38/drivers/net/usb/kalmia.c

Get option.c from (latest stable 2.6.38.x): http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.38.y.git;a=blob_plain;f=drivers/usb/serial/option.c;hb=HEAD

Or the whole kernel from https://github.com/mkotsbak/linux-2.6/tree/Samsung_kalmia_driver-2.6.38

Kernel 2.6.35 (Ubuntu Maverick):

Get kalmia.c from: https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver-2.6.35/drivers/net/usb/kalmia.c

Get option.c from https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver-2.6.35/drivers/usb/serial/option.c

Or the whole kernel from https://github.com/mkotsbak/linux-2.6/tree/Samsung_kalmia_driver-2.6.35

Kernel 2.6.32 (Ubuntu 10.04 LTS):

Get kalmia.c from: https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver/drivers/net/usb/kalmia.c

Get option.c from https://github.com/mkotsbak/linux-2.6/blob/Samsung_kalmia_driver/drivers/usb/serial/option.c

Or the whole kernel from https://github.com/mkotsbak/linux-2.6/tree/Samsung_kalmia_driver

Submitted patches for option.c are available as option_1.patch and option_2.patch in "option" subdir.


How to build


In root dir:

  • sh build.sh

In option directory:

  • sh build.sh

How to configure


  • In /etc/usb_modeswitch.d/04e8:689a, ensure this line is enabled:

    NoDriverLoading=1

There should be no rule for product="6889".

  • Set up wwan0 as dhcp interface. E.g. in Debian/Ubuntu, add this line to "/etc/network/interfaces":

iface wwan0 inet dhcp


How to connect


  • sudo modprobe option && sudo rmmod option (to get module deps)
  • sudo insmod ./option/option.ko
  • Connect modem
  • Run connect_lte.sh

or:

  • sudo modprobe usbnet
  • sudo insmod ./kalmia.ko
  • sh chat.sh
  • Monitor connection using: "minicom -o -D /dev/ttyUSB0" (NB! this seems to be required, else the modem stops)
  • sudo ifup wwan0

How to reconnect


  • sudo ifdown wwan0
  • Unplug and plug modem (bug in firmware, "ATE1" does not work. Same with windows driver).
  • If /var/log/messages indicate error in driver, rmmod kalmia, then insmod again.
  • sh chat.sh
  • sudo ifup wwan0