You are viewing bewareofgeek

Previous Entry | Next Entry





You need bios update to version 23 to support memory upgrade up to 3Gb


I used arch linux x86_64 with vanilla 2.6.31 kernel (rc8 actually, but should be released on 7 sep)


General Hardware Specifications of Lenovo Ideapad S12 via nano



Hardware Components


Status under Linux



Notes

VIA Nano processor U2250 (1.6GHz Capable) CentaurHauls, 1595.773 MHz Works See below
12.1" 1280x800 LED-backlit TFT LCD Works See my xorg.conf below
VIA Technologies, Inc. VX800/VX820 Chrome 9 HC3 Integrated Graphics [1106:1122] (rev 11) Works partly (no 3D and hardware mpeg features with opensource drivers) See below
VIA Technologies, Inc. VX800 Serial ATA and EIDE Controller [1106:5324] Works SATA=scsi (/dev/sda), using SATA compatability mode
Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713] (rev 02) Works See below
Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01) Works Using broadcom driver, wpa_supplicant (I used bcmwl-kernel-source_5.10.91.9+bdcom-0ubuntu4_amd64.deb as it contains patches for new kernel versions.)
Update: no more need for broadcom driver, as fully opensource driver b43 works fine and better. You just need to install proper firmware for it (I followed "You are using the b43 driver with an LP-PHY card (e.g. BCM4312)" section).
VIA Technologies, Inc. Secure Digital Memory Card Controller (rev 01) Works See below
VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) (rev 20) Works See below
[04f2:b090] Lenovo EasyCamera Works uvcvideo kernel driver
[0a5c:2150] Broadcom Corp, BCM2046 Bluetooth Device Works btusb kernel driver


NOTE: Via Padlock (support for x86_64), Hardware random generator (support for x86_64) and Via card reader drivers come with vanilla kernels >= 2.6.31


Nothing special about Arch setup, just follow installation guide. Then build latest (at the moment) 2.6.31-rc8 kernel from source (will be in stock soon after official 2.6.31 release).


VIA Nano processor U2250 (1.6GHz Capable) CentaurHauls


# cat /proc/cpuinfo 
processor	: 0
vendor_id	: CentaurHauls
cpu family	: 6
model		: 15
model name	: VIA Nano processor U2250 (1.6GHz Capable)
stepping	: 3
cpu MHz		: 1595.773
cache size	: 1024 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat clflush acpi mmx fxsr sse sse2 ss tm pbe syscall nx lm
constant_tsc rep_good pni monitor vmx est tm2 ssse3 cx16 xtpr rng rng_en
ace ace_en ace2 phe phe_en lahf_lm
bogomips	: 3191.54
clflush size	: 64
cache_alignment	: 128
address sizes	: 36 bits physical, 48 bits virtual
power management:


To enable hardware encryption (that is perfect for dm-crypt) check this options:


 Symbol: CPU_SUP_CENTAUR [=y]                                 
 Prompt: Support Centaur processors                           
   Defined at arch/x86/Kconfig.cpu:459                        
   Depends on: PROCESSOR_SELECT                               
   Location:                                                  
     -> Processor type and features                           
       -> Supported processor vendors (PROCESSOR_SELECT [=y])  

 Symbol: CRYPTO_DEV_PADLOCK [=y]                                  
 Prompt: Support for VIA PadLock ACE                              
   Defined at drivers/crypto/Kconfig:13                           
   Depends on: CRYPTO && CRYPTO_HW && X86 && !UML                 
   Location:                                                      
     -> Cryptographic API (CRYPTO [=y])                           
       -> Hardware crypto devices (CRYPTO_HW [=y])                
   Selects: CRYPTO_ALGAPI                                         

 Symbol: CRYPTO_DEV_PADLOCK_AES [=y]                              
 Prompt: PadLock driver for AES algorithm                         
   Defined at drivers/crypto/Kconfig:26                           
   Depends on: CRYPTO && CRYPTO_HW && CRYPTO_DEV_PADLOCK          
   Location:                                                      
     -> Cryptographic API (CRYPTO [=y])                           
       -> Hardware crypto devices (CRYPTO_HW [=y])                
         -> Support for VIA PadLock ACE (CRYPTO_DEV_PADLOCK [=y]) 
   Selects: CRYPTO_BLKCIPHER && CRYPTO_AES                        

 Symbol: CRYPTO_DEV_PADLOCK_SHA [=y]                              
 Prompt: PadLock driver for SHA1 and SHA256 algorithms            
   Defined at drivers/crypto/Kconfig:39                           
   Depends on: CRYPTO && CRYPTO_HW && CRYPTO_DEV_PADLOCK          
   Location:                                                      
     -> Cryptographic API (CRYPTO [=y])                           
       -> Hardware crypto devices (CRYPTO_HW [=y])                
         -> Support for VIA PadLock ACE (CRYPTO_DEV_PADLOCK [=y]) 
   Selects: CRYPTO_SHA1 && CRYPTO_SHA256                           

Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713] (rev 02)


 Symbol: TIGON3 [=y]                               
 Prompt: Broadcom Tigon3 support                   
   Defined at drivers/net/Kconfig:2246             
   Depends on: NETDEVICES && NETDEV_1000 && PCI    
   Location:                                       
     -> Device Drivers                             
       -> Network device support (NETDEVICES [=y]) 
         -> Ethernet (1000 Mbit) (NETDEV_1000 [=y])
   Selects: PHYLIB 

VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) (rev 20)


Symbol: SND_HDA_CODEC_REALTEK [=y]                              
 Prompt: Build Realtek HD-audio codec support                    
   Defined at sound/pci/hda/Kconfig:42                           
   Depends on: SOUND && !M68K && SND && SND_PCI && SND_HDA_INTEL 
   Location:                                                     
     -> Device Drivers                                           
       -> Sound card support (SOUND [=m])                        
         -> Advanced Linux Sound Architecture (SND [=m])         
           -> PCI sound devices (SND_PCI [=y])                   
             -> Intel HD Audio (SND_HDA_INTEL [=m])              

 Symbol: SND_HDA_CODEC_ANALOG [=y]                               
 Prompt: Build Analog Device HD-audio codec support              
   Defined at sound/pci/hda/Kconfig:54                           
   Depends on: SOUND && !M68K && SND && SND_PCI && SND_HDA_INTEL 
   Location:                                                     
     -> Device Drivers                                           
       -> Sound card support (SOUND [=m])                        
         -> Advanced Linux Sound Architecture (SND [=m])         
           -> PCI sound devices (SND_PCI [=y])                   
             -> Intel HD Audio (SND_HDA_INTEL [=m])              

and generic HD-audio codec parser

VIA Technologies, Inc. Secure Digital Memory Card Controller (rev 01)


VIA SD/MMC Card Reader Driver comes with kernels starting from 2.6.31


linux/drivers/mmc/host/Makefile for via
 Symbol: MMC_VIA_SDMMC [=m]                 
 Prompt: VIA SD/MMC Card Reader Driver      
   Defined at drivers/mmc/host/Kconfig:245  
   Depends on: MMC && PCI                   
   Location:                                
     -> Device Drivers                      
       -> MMC/SD/SDIO card support (MMC [=y])

VIA Technologies, Inc. VX800/VX820 Chrome 9 HC3 Integrated Graphics [1106:1122] (rev 11)


I use openchrome opensource driver. It gives me working xvideo and 2D (no 3D and hardware mpeg for now). I saw some guys used proprietary via drivers, it gives them 3D and mpeg, but it's for old kernels and xserver version.


my xorg.conf


# xorg.conf (X.Org X Window System server configuration file)

Section "Module"
	Load	"bitmap"
	Load	"extmod"
	Load	"int10"
	Load	"vbe"
	Load	"dri"
	Load	"glx"
	Load	"dbe"
	Load	"v4l"
	Load	"synaptics"
EndSection

Section "Monitor"
	Identifier	"LCD-Panel"
	Option		"DPMS"
	HorizSync	60
	VertRefresh	31.5-90
	modeline  "1280x800@60" 83.46 1280 1344 1480 1680 800 801 804 828 -hsync +vsync
EndSection

Section "Device"
	Identifier	"VX800"
	BusID		"PCI:00:01:0"
	BoardName	"VIA Chrome9 HC3"
	VendorName	"VIA Tech"
	Driver		"openchrome"
	Option		"AccelMethod"	"EXA"
	Option		"ExaScratchSize"	"8192"
#	Option		"ExaNoComposite"	"On"
	Option      "EnableAGPDMA" "true"
	Option		"ExaNoComposite"	"true"
	Option		"MigrationHeuristic"	"greedy"
	Option		"HWCursor"	"on"
	Option		"VBEModes"	"Off"
	Option		"VBESaveRestore"	"Off"
EndSection

Section "Screen"
	Identifier	"Screen0"
	Device		"VX800"
	Monitor		"LCD-Panel"
	DefaultDepth	24
	SubSection "Display"
		Modes	"1280x800"
		Viewport	0 0
		Depth	24
	EndSubSection
EndSection

Section "DRI"
    Group "video"
	Mode 0666
EndSection


A bit more info in previous post.


Update: no more need for broadcom driver, as fully opensource driver b43 works fine and better (I had broadcom driver issues with monitoring, kismet and TKIP (AES) encryption problem with one router, and never encountered any problems with b43). You just need to install proper firmware for it (I followed "You are using the b43 driver with an LP-PHY card (e.g. BCM4312)" section).

Comments

( 14 comments — Leave a comment )
(Anonymous)
Dec. 17th, 2009 11:44 pm (UTC)
1.6GHz Capable
Hi, I was wondering what that line ment in cpuinfo:
model name : VIA Nano processor U2250 (1.6GHz Capable)

I thought that the U2250 runs at 1.3GHz, what does this 1.6 mean here? Is there a SpeedStep like function on these VIA processors as well? And if it is 1.6 capable, what is the rationale of selling it as 1.3GHz systems? Any idea?
bewareofgeek
Dec. 18th, 2009 08:47 am (UTC)
Re: 1.6GHz Capable
Hi. I don't know how windows does it and I really don't care but in Linux this cpu initialized and run at 1,6Ghz:
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 1595.886
And yes, it supports something like SpeedStep and scales from 800 to 1600 with standard linux tools. I don't know about selling it as 1.3GHz, may be previous stepping has 1.3GHz only or may be it's the power consuming optimal, no idea.
(Anonymous)
Jan. 5th, 2010 09:39 pm (UTC)
suspend?
can you suspend/hibernate?
(Anonymous)
Jan. 16th, 2010 09:43 pm (UTC)
speedstep
using what tools did you manage to manage the cpufrequency? how did you verify that? thank you
bewareofgeek
Jan. 24th, 2010 09:01 pm (UTC)
Re: speedstep
I use standard tools cpufreq-info, cpufreq-set. To verify current cpufrequency you can also look for "cpu MHz" line in /proc/cpuinfo
(Anonymous)
Feb. 3rd, 2010 10:38 am (UTC)
Re: speedstep
hmm, no matter what I do, the freq. is always at 1.6Ghz :( with the latest 2.6.32-arch kernel
(Anonymous)
Feb. 4th, 2010 01:30 pm (UTC)
Re: speedstep
found it, you need to preload the e_powesave module
(Anonymous)
Apr. 15th, 2010 03:23 pm (UTC)
Re: speedstep
Wrong e_powersaver is for Via C7 and previous ones.
Oddly archlinux, openbsd and others OS detect the via nano U2250 using cpufreq with speedstep (intel stuff).
So you just have to modprobe cpufreq-acpi .
(Anonymous)
Jan. 18th, 2010 07:56 pm (UTC)
Bios
Do I really need a new bios version, I mean v23?
bewareofgeek
Jan. 24th, 2010 09:25 pm (UTC)
Re: Bios
How do I know for you? :-) No you don't.
But if you have an older bios version and you want to have up to 3G of ram support in your Ideapad S12 VIA NANO this is the only way to get it. And according to the bios update note:
General Information:
20CN23WW:
1. Support 3G RAM.
this is the only fix it introduces.

http://consumersupport.lenovo.com/en/DriversDownloads/drivers_show_1506.html

Anyway that's really not my business to make decisions for you and I'm not responsible for any damage this bios update could bring to your device.
(Anonymous)
Apr. 8th, 2010 03:35 pm (UTC)
How did you access sata compatibility mode in BIOS?
Hi!
My S12 just arrived, but I can only use the VIA PATA driver to access the disc and don't find any options in the BIOS to change the disc setting...
How did you switch to compatible mode? I read there are some key combos which might give more advanced options in the BIOS, but I didnt find any info on this.

I am going to use Gentoo in a 64bit flavour. Currently I booted via PXE (which is not mentioned in the BIOS either but works if you move the HD entry to the bottom of the boot menu) and in the process of resizing the disk to make space for an lvm which I will be encrypting with aes-xts-plain.

Gentoo users might want to check this thread: http://forums.gentoo.org/viewtopic-t-728006.html

I think I am going to to setup an article on gentoo-wiki.com later.
Thanks for all your info here! Regards, the_mgt
bewareofgeek
Apr. 8th, 2010 05:46 pm (UTC)
Re: How did you access sata compatibility mode in BIOS?
Hi. There is nothing in this minimalistic bios. I wonder what NVIDIA ION versions of S12 have (I thought this Quick Start has something to do with coreboot.org, but unfortunately not).
So, I didn't enable any sata compatibility and don't think it would give any benefits. I use pata driver with libata and it works pretty well for me with dm_crypt and padlock.
# lsmod | grep libata
libata 152308 3 ata_generic,pata_acpi,pata_via
scsi_mod 92676 4 usb_storage,sg,sd_mod,libata

# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 224 MB in 3.01 seconds = 74.50 MB/sec

(note I have hard drive replaced, stock one is slower).
Good luck with your gentoo. I've been gentoo fan for few years, now I have no cpu power as I have just S12 and other rather weak laptop to build system myself (and no time). Using x86_64 gives you enough optimized packages, and you can always customize just some packages you need to (I like arch ports).
(Anonymous)
Apr. 11th, 2010 12:16 am (UTC)
Re: How did you access sata compatibility mode in BIOS?
Ah, ok, I thought you knew about some Bios-Voodoo.

Yes, dm_crypt/lvm work fine now. Mostly everything else, too. I am now trying to get the cam working. We seem to have different ones, mine shows as: Bus 001 Device 002: ID 5986:0241 Acer, Inc
lsusb -v tells me the following:
idVendor 0x5986 Acer, Inc
idProduct 0x0241
bcdDevice 3.10
iManufacturer 3 BISON Corporation
iProduct 1 Lenovo EasyCamera
( 14 comments — Leave a comment )