Streamyx Down lg…

Benci gila aku ngan streamyx ni…dari kul 2am…smlm buat problem.. Tiba2 DSL padam… so time tu..aku malas nak call coz dah ngantuk gila… Then pagi tadi bangun jer..terus call TMNut… Inform dia orang cakap dsl off..

Then minah service desk tu…jawab la.. dah try direct connetion blalala…nak try cam ner kalau dsl xder…then aku suruh dia buka report lama..suruh dia check coz benda ni dh byk kali jadi..and aku nak permanent solution. Pastu dia turus buat report baru. Then bagi report no..

Dalam pukul 230.. td ada la orang TMNut call suruh test dah ok ker blm.. then aku test dah.. ok… Tp aku cakap kat dia aku xnk case ni closed lg.. biar pending seminggu… (kt HP selalu gak customer cakap cam ni….hahaha).

Then aku tanya la mamat tu…apa dia buat..dia cakap port problem..the dia orang dah repair port tu…kalau jadi lagi…mmg aku sepaking korang……


Lepas tu lak…wireless router aku buat pasai la pulak…xleh nk dial modem…chait… Then aku ada solution lain…aku setting kat aku nyer cap ayam wireless router tu Aztech WL830RT4 (WAN) jd static..n Setting PPPoE kat D-Link DSL 520B…Slalu aku setting Aztech to PPPoE..ok jer…hari ni ntah…xpasal2..buat perangai..malas ar nak pikir



Dell Support Services is Awesome

My Dell Wide-screen Flat Panel just broken.. 🙁 ..But luckily still got 3 years warranty.

Then, contact Dell Hardware Support via Chat Session  at Dell Hardware Support for warranty , and it just take me 5 minutes.


And guess what this guys said.

2:00:32 PM

  • Ok then we will replace your monitor to resolve this issue.
  • You should expect the part(s) replacement to be sent to you in the next 1-3 business days (Saturday, Sunday and public holidays are not included)
  • Yes. Please return the defective monitor so you won’t be charged.

* Please provide service tag number o PPID

And around 4pm.. I got call from Dell to verify my address, and they will replace my monitor tomorrow.

That awesome. Thanks Dell for your greats support.


Linux TV

Did you have any TV Card on your workstation.. Make it works with Linux…Here is some tutorial and tips about the device.

More info : LinuxTV

Linux TV Wiki: Wiki

The LinuxTV project develops and maintains the DVB driver subsystem which is included in the Linux 2.6.x kernel. The Linux kernel and the LinuxTV CVS include a fair number of drivers for commonly available PCI cards and USB devices, but the DVB subsystem core is also targeted towards Linux basedset-top-boxes

Credit: LinuxTV


Linux Device Driver Training

Good news.. i just found cool training for the developer or Validation team.. especially who work with the new hardware/driver… You can use the knowledge to implement it in your daily task..Adding a Driver to the Kernel Tree
Details: Linux Certified

Linux Device Driver Training

Linux Device Driver Development Course

Overall objective of this class is to teach attendees on how to develop device drivers for Linux.

This three day course provides substantial practice with the key steps in developing Linux device drivers. The course shows attendees how device drivers work with the Linux kernel, how to compile and load drivers, how to debug drivers, as well as other essential topics.

This course acquaints developers with the issues essential for Linux device driver development. The course progresses through a number of topics. Each topic is presented along with a supporting laboratory exercise before moving on to the next topic.

Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics.

The following modules will be covered during the class:

Devices in Linux
Devices treated as files, the /dev directory
Device classes – character, block, network, pipe
Creating device files with mknod
User Space Driver APIs
Low-level API
Streams API
How Loadable Modules Work Benefits of loadable modules
Correct use of insmod, modprobe, rmmod, and lsmod
Passing parameters to a loadable module
The GPL and your driver code
Compiling, Loading And Exporting
Writing a simple module
Compiling modules
Loading/unloading modules
Exporting symbols from a loadable module
Creating stacked loadable modules
Character Devices Major and minor numbers
Registering character device file
Driver methods – the file operations table
Transferring data to/from User Space
Tracing and Debugging printk for debugging
Device information in /proc
strace to track system calls
ksyms and ksymoops
Debuggers – gdb and kgdb
Blocking and Wait Queues Multi-tasking
Wait Queues
Save sleeping
Accessing Hardware I/O ports vs. memory mapping
Allocating and mapping I/O space
Functions for reading and writing I/O ports
Accessing I/O from User Space
Handling Interrupts Interrupt Handler functions
Restrictions of kernel code running in interrupt context
Deferred interrupt handling tasklets and workqueues
Accessing PCI hardware
detecting PCI devices
ce conflicts
/device IDs
I/O mapping
USB Drivers USB structure and Topology
ndpoints, interfaces and configurations
USB Request Blocks(urbs)
Driver Structure and organization
“Gadget” drivers
Managing Time Timer interrupts and jiffies
Short Delays
Task queues
Kernel Timers
Block Device Drivers Block Device Drivers
Header files
Registering block drivers
The block_device_operations structure
Special Methods

Network Drivers

The net_device structure
Naming scheme and registration
Network driver methods
NAPI the new API

Adding a Driver to the Kernel Tree

Where to put it – kernel layout for drivers
Modifying the Makefile

Adding it to configuration options – the Kconfig file

Course Objectives:

• To provide an understanding of the essentials of Linux device drivers.
• To give you practical experience in developing Linux device drivers.
• The steps necessary to add devices to a Linux system
• How to determine what hardware is present on a Linux system
• The purpose and functionality of device drivers
• Compiling and linking device drivers
• Trade-offs between loadable modules and drivers compiled into the kernel.

Who Should Attend:
The course is designed for software engineers who are new to Linux device drivers. Attendees should have experience with C, be able to perform basic Unix commands, and have some experience with the basic Gnu tools of gcc, gdb, and make.

Course Materials
The class materials for this course have been meticlously designed by leading practioners in this area. The workshop materials include a comprehensive student workbook and CD. The workbook contains all of the slides used in the course as well as hands-on lab exercises.  The CD contains the lab exercise code as well as a large amount of Linux software.

Course Workshop and Set-up:
The workshop makes use of standard PC’s with a desktop Linux distribution for development. The course will make use of PC’s and PC devices as examples.


Linux Project

Here is the usefull link for the developer and Linux User especially who is working on the Hardware Level.

Most of this project ar Involved by Intel

Here is more project:Credit to Intel / Intel Linux Graphic

Intel provides open source drivers for many devices. The following links go to the project sites of several of these.

Project Description
Intel® PRO/100/1000/10Gb drivers
Intel® PRO/Wireless 2100 Driver for Linux
Intel® PRO/Wireless 2200BG Driver for Linux
Intel® PRO/Wireless 3945ABG Driver for Linux
Intel Wireless WiFi Link Drivers for Linux
Linux UWB + Wireless USB + WiNET
Linux Kernel Performance
Advanced Configuration and Power Interface
Open Source POSIX Test Suite
Hardware Platform Interface
Open WS Manageability
SAF test
Open Service Availability Forum
Firmware Kit
Linux-Ready Firmware Developer Kit
IRQ Balance
Linux daemon that distributes interrupts

Unknown Device- PCIID

I have a few tips here.. For those that have the problem when install any Linux disto or their system and found the Unknown Device..

root@ubuntu:~# lspci
00:00.0 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP67 ISA Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP67 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.3 Co-processor: nVidia Corporation MCP67 Co-processor (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:04.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:04.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:06.0 IDE interface: nVidia Corporation MCP67 IDE Controller (rev a1)
00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP67 PCI Bridge (rev a2)
00:09.0 IDE interface: nVidia Corporation MCP67 AHCI Controller (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:0d.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:12.0 VGA compatible controller: nVidia Corporation GeForce 7150M (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
01:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
01:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
01:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
01:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
For my setup it already update…

Here is the command how to update the pciid

root@ubuntu:~# update-pciids

Downloaded daily snapshot dated     2008-11-20 03:15:02

and u can find the Device using the PCI ID…


Solution for e1000e

Remember on my previous post regarding the e1000e driver on linux the solution is disable the CONFIG_DYNAMIC_FTRACE. I got the info from LKML i hope that later no more problem like this because it will break all the hardware. Here i cut out the articles that post by Steven Rostedt

While debugging the e1000e corruption bug with Intel, we discovered
today that the dynamic ftrace code in mainline is the likely source of
this bug.

For the stable kernel we are providing the only viable fix patch: labeling
CONFIG_DYNAMIC_FTRACE as broken. (see the patch below)

We will follow up with a backport patch that contains the fixes. But since
the fixes are not a one liner, the safest approach for now is to
disable the code in question.

The cause of the bug is due to the way the current code in mainline
handles dynamic ftrace. When dynamic ftrace is turned on, it also
turns on CONFIG_FTRACE which enables the -pg config in gcc that places
a call to mcount at every function call. With just CONFIG_FTRACE this
causes a noticeable overhead. CONFIG_DYNAMIC_FTRACE works to ease this
overhead by dynamically updating the mcount call sites into nops.

The problem arises when we trace functions and modules are unloaded.
The first time a function is called, it will call mcount and the mcount
call will call ftrace_record_ip. This records the calling site and
stores it in a preallocated hash table. Later on a daemon will
wake up and call kstop_machine and convert any mcount callers into

The evolution of this code first tried to do this without the kstop_machine
and used cmpxchg to update the callers as they were called. But I
was informed that this is dangerous to do on SMP machines if another
CPU is running that same code. The solution was to do this with

We still used cmpxchg to test if the code that we are modifying is
indeed code that we expect to be before updating it - as a final
line of defense.

But on 32bit machines, ioremapped memory and modules share the same
address space. When a module would load its code into memory and execute
some code, that would register the function.

On module unload, ftrace incorrectly did not zap these functions from
its hash (this was the bug). The cmpxchg could have saved us in most
cases (via luck) - but with ioremap-ed memory that was exactly the wrong
thing to do - the results of cmpxchg on device memory are undefined.
(and will likely result in a write)

The pending .28 ftrace tree does not have this bug anymore, as a general push
towards more robustness of code patching, this is done differently: we do not
use cmpxchg and we do a WARN_ON and turn the tracer off if anything deviates
from its expected state. Furthermore, patch sites are statically identified
during build time so there's no runtime discovery of dynamic code areas
anymore, and no room for code unmaps to cause the hash to become out of date.

We believe the fragility of dynamic patching has been sufficiently
addressed in the development code via the static patching method, but further
suggestions to make it more robust are welcome.

Signed-off-by: Steven Rostedt
Acked-by: Ingo Molnar
Acked-by: Thomas Gleixner
kernel/trace/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-compile.git/kernel/trace/Kconfig
--- linux-compile.git.orig/kernel/trace/Kconfig 2008-10-02 10:18:49.000000000 -0400
+++ linux-compile.git/kernel/trace/Kconfig 2008-10-15 17:29:34.000000000 -0400
@@ -103,7 +103,8 @@ config CONTEXT_SWITCH_TRACER
all switching of tasks.

- bool "enable/disable ftrace tracepoints dynamically"
+ bool "enable/disable ftrace tracepoints dynamically (BROKEN)"
+ depends on BROKEN
depends on FTRACE
default y