Qualcomm, Inc. Sony Gobi 2000 Wireless Modem – OpenSuSE 12.1 – Vaio VPCSB

sony-vaio-vpcsb16fg-2

Hello,

Recently I’ve updated my openSuSE 11.4 to the latest openSuSE 12.1, it was a hassle free upgrade and my system is running smoothly, nevertheless I didn’t use one of my favorite features on this laptop, the built-in GSM card.
Today I needed it and, bummer,  it didn’t work, even if I could see it in network manager, I remembered I didn’t install the firmware (this card needs a firmware to be inserted every time the device boots). So I put the files in /lib/firmware/gobi and run gobi_loader it ran just perfect.
Next i reboot the laptop, but it didn’t load the firmware automatically, I’ve checked udev and the entry was missing.

So in order to use the Qualcomm, Inc. Sony Gobi 2000 Wireless Modem with the Vaio VPCSB you’ll need:

Install gobi_loader

sudo zypper in gobi_loader

Copy the firmware files to /lib/firmware/gobi (you can find these files on the net (i won’t put them here because of license issues) the names;

amss.mbn apps.mbn UQCN.mbn

With the latest gobi_loader from SuSE it’s all. But it still doesn’t work do the following:

Create a new udev rule file (with joe, vi, kwrite, gedit, etc), just don’t forget you must be root or use sudo:

vi /etc/udev/rules.d/61-gobi.rules

Content:

# udev rules for firmware loading on qualcomm gobi devices

ACTION==”add”, SUBSYSTEM==”tty” KERNEL==”ttyUSB*” GOTO=”gobi_rules”

GOTO=”gobi_rules_end”

LABEL=”gobi_rules”
ATTRS{idVendor}==”05c6″, ATTRS{idProduct}==”9225″, RUN+=”gobi_loader -2000 $env{DEVNAME} /lib/firmware/gobi”
LABEL=”gobi_rules_end”

Cheers,
Pedro Oliveira

OpenSuSE Linux on Sony Vaio VPCSB – User Review

Hi today I was using my new laptop (well it has about 1 month now) and I thought in sharing my usage experience with it. My Vaio is a VPCSB and I run it with OpenSuSE 11.4 X86_64.
I have a thing for Sony Vaios, this one is my 4th. I like Vaios for their build quality, looks, performance and size as I also travel quite a bit.
I’m not a gamer at all so what I value for my computer usage is:

1 – Size (13 inches or smaller)
2 – Weight (2Kg or lower)
3 – Looks
4 – Display quality
5 – Battery endurance
6 – Performance (CPU, Memory, IO)
7 – Number of IO ports (USB, VGA, DVI, Network cards, DVD or Blue-ray in this case, GSM card)
8 – Extras (Illuminated keyboard, hybrid video systems, etc)
9 – And the most important item… Linux compatibility as it will be my choice OS

So after breaking my old Vaio display, I researched a lot (and not only Vaios), I bought this VPCSB, my expectations were very high as my last laptop, a Vaio SZXN was (and still is because it was fixed) an excellent laptop. It worked flawlessly for 4 years with about 12 hours run everyday, lots of traveling, lots of airplane usage and with minor upgrades on memory (2GB ram to 4GB) and a major upgrade this year on the hard drive where I bought a Samsung high performance SSD.
Well, back to the new computer let’s start on the hardware listing (including lscpi and lsusb output):

CPU:  Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
RAM: 6GB
HD:SAMSUNG MMDOE56G5MXP-0VB

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 3 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b4)
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: ATI Technologies Inc NI Seymour [AMD Radeon HD 6470M] (rev ff)
02:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5209 (rev 01)
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Hayt Controller (rev 04)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 08ff:168f AuthenTec, Inc.
Bus 001 Device 004: ID 0c45:64b5 Microdia
Bus 001 Device 007: ID 05c6:9225 Qualcomm, Inc. Sony Gobi 2000 Wireless Modem
Bus 001 Device 006: ID 0489:e00f Foxconn / Hon Hai Foxconn T77H114 BCM2070 [Single-Chip Bluetooth 2.1 + EDR Adapter]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

So running with Linux (OpenSuSE) what works and what doesn’t work?
Easy there are only 2 things that aren’t running on Linux:
1 – Finger print reader (Bus 001 Device 003: ID 08ff:168f AuthenTec, Inc. )
2 – Touch-pad with multi-touch although it works fine with single-touch
Maybe the multi-touch function can be activated but to be sincere I didn’t pay much attention to it.
The fingerprint is not working due to Sony (they are failing on us here), the multi touch has a signed firmware that doesn’t allow any application to use it, so it needs a Sony interface application to communicate with the system.

What runs and should have trouble running?
The webcams are known to be prone to have trouble and this one works like a charm.
The internal GSM card also works perfectly in Linux (ID 05c6:9225 Qualcomm, Inc. Sony Gobi 2000 Wireless Modem), just a note, I disabled the PIN request on the ISP chip, I did this because from time to time I lost communication with the GSM device after suspending to ram or disk.
The Ati Radeon card works really well with the fglrx driver (even the hybrid features).

What didn’t I tested / used till now:
I never tried to use the blue-ray functions, I’ve recorded and CDs and DVDs but never used blue-ray disks (I just have some Playstation 3 games on blue-ray)

User experience and usability:
Let me say it this way… I LOVE MY NEW VAIO!
It’s small yet powerful, it has a nice amount of ram, fast SSD, good battery life. The display is great, altought the view angles aren’t that good.
In what concerns to mobility I can’t find anything better, I really like the Intel wireless device (supporting 801.11B,G,N), the GSM card it a major feature and it’s a really nice feature to have if you move a lot, and the usual ethernet port also deliveries good performance.
What I don’t like at all are the mouse buttons, they are hard to press and noisy. The same happens to the fan if you’re running at full speed (like compiling a kernel), it will get noisy, but you’re just working on Libreoffice, using FireFox it will be just fine.
On the other hand the lightened keyboard is great for working late at home or in the plane, you’ll not be searching for keys anymore.

Conclusion
Do I tell you to buy this one?
YES, it’s small, fast, pretty and it will deliver, you’ll be able to work full days on this one without miss your desk computer 🙂

PS – What do I like more than my new Vaio?
My new tablet, I’ve also bought a Samsung Galaxy Tab 10.1 but I’ll write about it sometime.
Cheers,
Pedro Oliveira

 

BackupPC to the rescue – unusual way to solve permission problems.

Hello all,

It 6 am Sunday early morning, no sleep at all until now and I’m almost exhausted, this has been a great night! Let me tell you the story.

I’m doing a project 8000 miles away from home, now I’m living in Luanda, Angola (usually I live in Lisbon), and this weekend there was a party so I went, the singer wasn’t that bad, the place was crowed with nice Brazilian people (yes there are plenty of them in Luanda) and the food was great so I couldn’t wish for more, after dinner I had planned with some friends to hit a local disco,  But after 5 caipirinhas (a great Brazilian drink), I felt really bad from my stomach so I ended the night there and head back home. After a while in bed I still didn’t feel that good so I went to the laptop and thought in sorting some work things.

Now the fun part, being a bit drunk i did something like (i didn’t want to do it jut typed ENTER before the rest(someway i mistaken TAB with ENTER)):

sudo chown -R pedro:pedro /

I thought to myself… this is taking ages let me have another drink… and then i woke up but it was too late, I’m running to the lap but I have ext4 and an SSD so my entire file system had my UID and GID.

I have backups of everything I do, even the complete FS but the backups are 8000 Miles away and in Angola the best i can get in Internet access is 2Mb.

I felt a bit desperate, I say a bit so I don’t tell you I would like to drink a bottle of vodka to forget the stupidity I made, so before doing anything even more stupid went to the sofa and played angry birds on the tablet for 1 hour.

VOILÁ, I had an idea that will put my laptop running (I hoped)! I didn’t turn off the lap because I knew it was probable it wouldn’t turn on again, so i entered the command line and changed permissions on some critical files:

chown root:root /usr/bin/sudo
chown root:root /etc/sudoers
chmod u+x /usr/bin/sudo

afterwards I changed my home directory to the right permissions:

sudo chmod -R 750 /home/pedro
sudo chown -R pedro:pedro /home/pedro

With this i managed to have KDE and Firefox (although KDE was erratic)
With Firefox i managed to enter my backup server and choose the last backup I had, went to the log page (where the logs of all files are kept) and to my joy I saw i could get all the file owners and permissions from that page.
I just did a play text copy paste from the log into a file named FILE_LIST on my home folder (fortunately i also backup system files, applications, in sum…everything)
now with the list on my hand (I mean disk), i made a little script, it’s more a chain of commands but it worked well.
Here’s the command line:
nice -n -10 cat /home/pedro/FILE_LIST | cut -b 12- | tr -s " " | cut -d " " -f 2,4- | \
while read A ; do \
OWNER=`echo $A | cut -d " " -f 1 | cut -d "/" -f 1 `; \
GROUP=`echo $A | cut -d " " -f 1 | cut -d "/" -f 2` ; \
FILE=`echo $A | cut -d " " -f 2-` ; \
echo $FILE ; \
sudo chown $OWNER:$GROUP "$FILE" ; \
done

And here’s and excerpt of FILE_LIST:

create   755 0/0 2035616 bin/vim-normal
create d 755 0/0 3072 boot
create d 755 0/0 1024 boot/grub

For now I’m safe and a have my system up and running.
I knew that drinking and driving wasn’t safe, but now I know drinking and sudo should be avoid too 🙂
I’m going to bed! This all thing took 3 hours + 1 of angry birds and the day is coming out.
Cheers,
Pedro

P.S – I know the script isn’t ideal, but considering the state I’m now I fell really happy to have things working 🙂

Testing BTRFS – Performance comparison on a high performance SSD (BTRfs vs Ext4)

Hi,
Today I was reading about btrfs and as never used it before I thought in giving it a try.
On my laptop I have a ssd with 256GB, there I created 2 LVM2 volumes to use and test btrfs.
It’s not the ideal solution because there’s a LVM layer but I’m not in the mood for backup,erasing,installing,erasing and installing. So the tests I’m going to do are just on the FS itself, not on all the layers that btrfs supports. A good thing in using a ssd card is that the access time is equal for all the block device and the data position on the block device is not accountable, so this is a very good opportunity to have measurements both on ext4 and btrfs.
Here’s the benchmark architecture, tools and setup:

Kernel:

Linux MartiniMan-LAP 2.6.38-31-desktop #1 SMP PREEMPT 2011-04-06 09:01:38 +0200 x86_64 x86_64 x86_64 GNU/Linux

LVM lv creation command:

lvcreate -L 20G -n TestingBTRfs /dev/mapper/system
lvcreate -L 20G -n TestingExt4fs /dev/mapper/system

LVM lvdisplay output:

--- Logical volume ---
LV Name /dev/system/TestingBTRfs
VG Name system
LV UUID zBYf0d-metk-VC9U-YkjE-z1Ts-NMLb-HzYmrJ
LV Write Access read/write
LV Status available
LV Size 20.00 GiB
Current LE 5120
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3

--- Logical volume ---
LV Name /dev/system/TestingExt4fs
VG Name system
LV UUID FJEfiv-Hs9W-zGuV-sJIo-3INN-gh52-YgmsVl
LV Write Access read/write
LV Status available
LV Size 20.00 GiB
Current LE 5120
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:4

FS creation command:

mkfs.ext4 /dev/system/TestingExt4fs
mkfs.btrfs /dev/system/TestingBTRfs

Processor:

model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz

HardDrive:

Device Model: SAMSUNG MMDOE56G5MXP-0VB

Mount command (as you can see I didn’t do any optimizations, noatime, etc):

/dev/mapper/system-TestingBTRfs on /mnt/btrf type btrfs (rw)
/dev/mapper/system-TestingExt4fs on /mnt/ext4 type ext4 (rw)

Test software:

'Iozone' Filesystem Benchmark Program

Version $Revision: 3.373 $
Compiled for 64 bit mode.

Command line for the tests:
Command line used:

 ./iozone -Ra -r4k -r8k -r16k -r32k -r64k -r128 -r1024 -r4096k -r16384k -s1g

This command was used in the btrfs and the ext4 volumes.
The options mean:
-R excel/

office compatible format.
-a auto test
-r the record size (you can see I used several (4k,8k…))
-s size of test file (I used 1GB)

Here’s the test results:

And the charts (The scale is logarithmic):

(you may download the data here: [download id=”1″])

Conclusions

As you can see on the charts for sequential reading/writing there’s a performance gain  in BTRfs with the smaller record sizes but the inverse is also true, EXT4 has more performance on larger record sizes.

If you look to the random data access while reading or writing you’ll see that EXT4 is far faster that BTRfs, and this is according to my daily usage pattern would be 70% of the access to my hard drive. To be sincere I’m a bit surprised on such a difference. I know I didn’t tune any of the file systems and the purpose of this benchmark is not having to, just playing with the defaults as most of the installations out there.

Another conclusion that is really simple to understand is that bigger record sizes mean best performance.

For now I think I’ll stick to EXT4 and LVM, who knows if I’ll sometime soon I’ll change to BTRFS, I’ll let it grow and advise you to do the same.

Cheers,

Pedro Oliveira