Ubuntu 8.10, a tethered Windows Mobile 6 cell phone via USB, Firefox and Pidgin Messenger

To tether a Windows Mobile 6 cell phone (make sure you have a data plan that allows tethering), you will need to install a few things:

sudo aptitude install subversion build-essential linux-headers-`uname -r`

Once those are installed, we need to download and build the latest usb-rndis-lite code:

svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
##  remove the existing usb-rndis drivers with clean.sh
sudo ./clean.sh
sudo make install

Before you plug in the cell phone, you will need to blacklist the rndis_wlan kernel module:

sudo echo "blacklist rndis_wlan" >> /etc/modprobe.d/blacklist
sudo rmmod rndis_wlan

Plug in your cell phone. If you type “dmesg”, you will see something like the following:

[  152.312099] usb 4-1: new full speed USB device using uhci_hcd and address 3
[  152.500604] usb 4-1: configuration #1 chosen from 1 choice
[  154.138352] rndis0: register 'rndis_host' at usb-0000:00:1d.3-1, RNDIS device (SynCE patched), 80:00:60:0f:e8:00
[  164.441074] rndis0: no IPv6 routers present

This is showing that the phone was found. Let’s take a look at the list of interfaces using ifconfig:

....
rndis0    Link encap:Ethernet  HWaddr 80:00:60:0f:e8:00  
          inet addr:169.254.2.2  Bcast:169.254.2.255  Mask:255.255.255.0
          inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:8050  Metric:1
          RX packets:29 errors:46 dropped:0 overruns:0 frame:23
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2097 (2.0 KB)  TX bytes:9146 (9.1 KB)

On the phone, turn on Internet Connection Sharing and connect via USB. Wait a few seconds (obtaining an ip address can take up to a minute or so) then issue the ifconfig command again:

....
rndis0    Link encap:Ethernet  HWaddr 80:00:60:0f:e8:00  
          inet addr:192.168.0.102  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:8050  Metric:1
          RX packets:8113 errors:13535 dropped:0 overruns:0 frame:6766
          TX packets:8643 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6063101 (6.0 MB)  TX bytes:1890604 (1.8 MB)

Yay! We are connected.

In order to use Firefox, Pidgin or any other software that uses Network Manager, you need to stop the Network Manager daemon:

sudo /etc/init.d/NetworkManager stop

You will be able to use your applications again 🙂

Share Button

Installing Oracle 10g / 11g on Ubuntu 8.04.1 (Hardy Heron) Server JEOS in VMware Server 1.0x/2.0x

I’ve been tasked with becoming an Oracle DBA, so I need to be able to create an VMware Server image containing 32 bit Ubuntu 8.04.1 Server JEOS and Oracle 10g. Much of the work was taken from Augusto Bott‘s Installing Oracle 11g on Ubuntu Linux 7.10 (Gutsy Gibbon) and Peter Cooper‘s How to Install VMware Tools on Ubuntu Hardy 8.04 under VMware Fusion.

I was able to consolidate the methods to work rather well together. As soon as Ubuntu 8.10 Server JEOS (Intrepid) is released, I’ll verify the procedure on that operating system as well.

If you’re looking for instructions on how to install Oracle 11 XE on Ubuntu 8.04.1, look at Installing Oracle Database XE on Debian, Ubuntu, and Kubuntu by Todd Trichler.
Create a VMware Image with the following settings

  1. Choose 32bit Ubuntu for the OS type
  2. 1024 MBytes RAM
  3. 16GBytes disk space
  4. Ubuntu 8.04.1 (or higher) Server JEOS edition http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos
  5. Upon the os installation, create a non “oracle” id to use to administer the os.

Install the required updates and packages

$ sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install build-essential xinetd linux-headers-`uname -r` openssh-client openssh-server unzip libaio1 gawk ksh rpm libmotif3 alien lsb-rpm libtool libxtst-dev libxtst6 libstdc++5

Add swap

$ sudo dd if=/dev/zero of=/extraswap bs=1M count=1536
sudo mkswap /extraswap
sudo swapon /extraswap
sudo echo "/extraswap   none   swap   sw   0   0" >> /etc/fstab

# "/sbin/swapon -s" should show the added swap space
/sbin/swapon -s
Filename				Type		Size	Used	Priority
/dev/mapper/oracle10g-swap_1            partition	401400	92	-1
/extraswap                              file		1048568	0	-2

If VMware Server version is 2.0x or higher, install VMware tools:

$ sudo su - root
mount /dev/cdrom
cp /media/cdrom/*.gz ~
tar zxvf VMwareTools*.tar.gz
cd vmware-tools-distrib
./vmware-install.pl

If VMware Server version is 1.0x, install VMware tools:

$ sudo su - root
mount /dev/cdrom
cp /media/cdrom/*.gz ~
aptitude install libgtk2.0-dev libproc-dev libdumbnet-dev xorg-dev wget
wget http://mesh.dl.sourceforge.net/sourceforge/open-vm-tools/open-vm-tools-2008.04.14-87182.tar.gz
tar xzvf VMware*.gz ; sudo tar xzvf open-vm-tools*.gz ; cd open-vm-tools-2008.04.14-87182/
./configure && make
cd modules/linux/
for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
cd ../../..
mv -f open-vm-tools-2008.04.14-87182/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/ ; cd vmware-tools-distrib/
sudo ./vmware-install.pl
sudo reboot

Append to /etc/sysctl.conf

$ sudo cat >> /etc/sysctl.conf < <EOF
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF&#91;/bash&#93;

Append to /etc/security/limits.conf
&#91;bash&#93;$ sudo cat >> /etc/security/limits.conf < <EOF
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
EOF&#91;/bash&#93;

Append to /etc/pam.d/login
&#91;bash&#93;$ sudo cat >> /etc/pam.d/login < <EOF
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF&#91;/bash&#93;

Set up user / groups
&#91;bash&#93;$ sudo su - root
addgroup oinstall ; addgroup dba ; addgroup nobody ; usermod -g nobody nobody ;  useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
passwd oracle
mkdir /home/oracle ; chown -R oracle:dba /home/oracle ; ln -s /usr/bin/awk /bin/awk ; ln -s /usr/bin/rpm /bin/rpm ; ln -s /usr/bin/basename /bin/basename ; mkdir /etc/rc.d
for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
mkdir -p /dbms/oracle ; chown -R oracle:dba /dbms/oracle ;  sysctl -p
reboot&#91;/bash&#93;

Retrieve Oracle 10g zip file
<ol>
	<li>Copy the Oracle install zip file from disc or somewhere</li>
	<li>Unzip it</li>

Retrieve IP of the network card
$ ifconfig |grep "Bcast"

Install / Configure oracle manually verifying any requirements:

$ ssh -C -X oracle@(ipaddress)
...
cd /home//database
./runInstaller -ignoreSysPrereqs

iSQL*Plus URL:
http://(ipaddress):5560/isqlplus

iSQL*Plus DBA URL:
http://(ipaddress):5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:
http://(ipaddress):1158/em

Share Button

Long time no here

I was away for vacation then went into hiding while I brushed up on my Oracle skills for work.  All I can say is that I have a lot of material to put into the MyDatabases magazine this week.  So much to do it is hard to find time to get any of it done lately.  Oh well.  The next issue should be out this coming weekend.

In the meantime, count with me the days to Ubuntu 8.10 Intrepid being released:

Can’t wait that long? Try out the BETA. Check out the new features!

Share Button