Home Linux Community Community Blogs

Community Blogs

Kernel Crash Seen In case of VLAN Tagged ICMP packets

Hi Friends,

I am using Windriver customized kernel 3.0 based on main line Linux version

Getting Kernel crash In case of Vlan Tagged ICMP packets. Please find below stack trace for the crash.


Kindly help me in analysing the trace and to identify the main culprit.

[<ffffffff81154108>] warn_on_slowpath+0x58/0x90

[<ffffffff8115bd20>] local_bh_enable+0x88/0xf8

[<ffffffff81344a44>] dev_queue_xmit+0x144/0x688

[<ffffffff81301f04>] bond_dev_queue_xmit+0x44/0x178

[<ffffffff81302408>] bond_xmit_activebackup+0xb0/0xe8

[<ffffffff81344ea4>] dev_queue_xmit+0x5a4/0x688

[<ffffffff813d59b4>] vlan_dev_hwaccel_hard_start_xmit+0x8c/0xa0

[<ffffffff81344ea4>] dev_queue_xmit+0x5a4/0x688

[<ffffffff81377cbc>] ip_push_pending_frames+0x37c/0x4c0

[<ffffffff813a0768>] icmp_reply+0x170/0x290

[<ffffffff813a0a58>] icmp_echo+0x58/0x68

[<ffffffff813a11b4>] icmp_rcv+0x334/0x390

[<ffffffff813721a4>] ip_local_deliver_finish+0x13c/0x2d8

[<ffffffff813718c4>] ip_rcv_finish+0x134/0x510

[<ffffffff81343af4>] netif_receive_skb+0x41c/0x5d8

[<ffffffff81343d58>] process_backlog+0xa8/0x160

[<ffffffff8134186c>] net_rx_action+0x194/0x2e8

[<ffffffff8115b71c>] __do_softirq+0x114/0x288

[<ffffffff8115b910>] do_softirq+0x80/0x98

[<ffffffff8115bb8c>] irq_exit+0x64/0x78

[<ffffffff81100e40>] plat_irq_dispatch+0xd0/0x1d0

[<ffffffff81120c80>] ret_from_irq+0x0/0x4

[<ffffffff81120ea0>] r4k_wait+0x20/0x40

[<ffffffff81123414>] cpu_idle+0x34/0x60


Thanks in Advance



An introduction to Linux Deepin’s way of innovation

Author: Andy Stewart, co-founder and leader of the Linux Deepin team

Note: This article is translated from this page.


When Linux Deepin team was organized two years ago, we already have a clear idea of what a perfect deskop operating system would be like. Over the last two years, our team has grown from several people to more than 30 members. We've always had a clear-cut goal, that is, to make a Linux operating system with the best interactive user experience.


Our view about interactive experience

In our opinion, the criteria for good interactive experience are as follows:

1. It's not the users' job to work out the details

There are lots of things to learn about Linux. Programmers can examine underlying algorithms. Designers can do visual studies. Experts in other subjects can do research in their fields. However, ordinary users will basically need to listen to the music, watch movies or the like.

Traditionally, Linux users, especially Chinese users, have to spend days to get fonts, character encodings and codecs working properly. Sometimes they go to extremes to get bleeding-edge versions of underlying libraries. I am a geek myself. I never use a mouse when coding and I use Emacs to get everything done. I also lived the days when I was full of enthusiasm and spend days and nights playing with my system. However, as time goes by, I would rather see that things *JUST* work and do not need configuration after installation.

So We have put the idea into practice. The arduous and daunting configurations are already done by Deepin. All users need to do is enjoy.

2. Good interactive design is not just about themes.

Some people who work with the command line every day still think of interactive design as good-looking themes. In fact, good themes merely give pleasure to the eyes. However, interactive design comes from deep thoughts about humanity. Based on the research, we make decisions and feedback which are considered natural and meet users' expectations.

Let's take DSnapshot and DPlayer as examples.

1). Perhaps the best screenshot tool with GUI before DSnapshot was Shutter. What did we do if we wanted to take a screenshot and share it with a friend?

Steps: Take a screenshot -> Save it -> Open the picture and edit it -> Save it again -> Upload to social websites

Users could not edit the picture immediately after the screenshot had been taken. They had to save it, open it for editing, save it again and then open a browser or use other tools to upload it.

Let's see what our users really need?

a). Select the area to take a screenshot as they wish;

b). Edit it immediately if they need to;

c). Share it with friends once the previous preparations are done.

So what we need to do is get rid of the unneccessary steps and only "bother" our users where choices are needed. Taking a screenshot, editing it and sharing - no extra steps. The simplest way to realize user experience is the best interactive design.

2). What does DPlayer do when it is minimized?

Let's analyze why a user who was focusing on a movie wants to minimize the player? Because he/she has other things to do. What is he/she going to do when he/she's finished? That's right. He/she's going to continue to watch the movie.

So what do WE do now? When the user minimize DPlayer, we pause the movie for him/her. When he/she restored the player window, we continue to play the movie. This is basically what interactive design is like. When the user needs to pause, we help him/her pause it. When they come back, we help them play it.

As is shown above, it is the details that we care most about.

3). What do users do when they've finished installing an application in the Software Center?

They'll need to launch it. And no, they don't need to go to the launcher menu to start them. We give them a startup button on the app's page. Users don't have to worry about where the application was installed. They can just click the button and launch it.


Linux Deepin is *NOT* reinventing the wheel. They are creating an excellent interactive design.


Many Chinese Linux fans often ask us the question, "Why are you reinventing the wheel when there are so many distributions out there?" So I think we need to make our point clear. The powerful tools on Linux is beyond counting, but they rarely give the pleasure to an ordinary user as being considered easy to use.

It is not the answer to the question that matters. What surprised us is that lovely monomania deeply rooted in the heart of Linux techies, who work with git, patches, mailing lists, IRC and bugs everyday. In China, a misunderstanding about Linux is always around. On one hand, ordinary people tend to think Linux is for experts. On the other hand, the enthusiasm of Linux users has, to some degree, developed into some sort of religion. The techies love to make Linux a symbol of expert. They wouldn't see their lovely toy ended up as easy to use for newbies. Some even obstruct efforts to make Linux available for average computer users.

We all love Linux. Any efforts on Free and Open Source, being it on underlying algorithms or simply making Linux easy to use, are worth praising. We are all working for a better Linux with more users and great future.


Linux Deepin has always been leading the Chinese way of Open Source.


Linux Deepin has contributed heavily to the Free and Open Source world. The projects we created in the past two years are shown below:

a). Deepin Software Center

b). DSnapshot

c). DMusic

d). DPlayer

e). Deepin Desktop Environment

We'll bring more innovative design to the world, such as desktop apps, community tools and many other unprecedented creations.


As we are moving forward faster than ever before, we are facing considerable challenges. Every week, we receive about 30 to 50 bug reports or suggestions from our users.

For example:

a). Add a launcher icon for DSnapshot;

b). Provide a weather forecast item for Taipei (P.R. China) in the weather widget;

c). Give a switch to users to turn on/off automatic updates in the Software Center.


So how are we going to make our System and apps stable and deal with improvement suggestions from our users? If Linux Deepin only focused on new features and wouldn't listen to feedback, their product would be like many other desktop distributions. It wouldn't be like those predecessors as being average and unbearable as to details.

Suggestions from users, no matter how "trivial" the idea may seem, would be accepted as long as we think it will improve user experience.

Therefore, we decided to spend one working day each week to deal with feedback and known issues. Now we are investing 80 percent of our time in innovation and 20% in improvement.

In a word, we are taking 20 percent of our time to improve user experience as we are rapidly making innovations.


Precise Puppy 5.7.1 review – a small and swift linux distro

Puppy Linux - the Precise variant Precise Puppy is a puppy linux variant that is "based" on Ubuntu 12.04 precise. It is designed as a small and fast distro that can run on older hardware with low resources. It is intended to be run in live mode rather than installing on the hard drive. The iso file can be burnt to a disc or put on a flash drive and it would boot like any other linux distro. I always wanted to try puppy linux and this time I finally got my hands on it. Version 5.7.1 was recently released. So what is puppy linux. Well, if you don't already know, puppy linux is not a distinct distro by itself. It is more of a concept with lots of distros being build on it. For example precise puppy is a puppy linux variant built using packages from ubuntu precise. Similarly there is slacko puppy that is based on slackware. The term "based on" is not very strict in sense and should not be mistaken for a trimmed down version of a large distro. It is more of a compatibility factor such that packages from a larger distros are used to build the particular puppy variant. You might be surprised to know how many puppies are there in the town. Check this link to find out. Archpup, Attackpup, Macpup, pup .... pup .... pup ... So in this post we are focussing on precise puppy 5.7.1 Download and run Puppy linux distros are always small in size compared to other larger distros. Most are within 150MB and although that is not really small, but doesn't matter. There are distros that are smaller, damn small linux for example. You should be able to find the precise puppy distros at Navigate to the directory for version 5.7.1 and download the right iso. You would find lots of "retro" builds. Retros are those builds which have additional software/driver to support older hardware. This makes them larger in size. I am trying out puppy on an old Samsung N110 netbook (not very old). It has a dual core intel atom processor with 1 GB ram. It has Lubuntu installed, which works fine, till you fire too many applications or browser tabs, which would lead to a clear speed lag. You can try it inside virtualbox if you want to. Virtualbox would allow to set the hardware configuration parameters like ram and cpu so it can be tested in a restricted environment. I used unetbootin to put the puppy iso on a flash drive. Easy enough and works the same way as any other distro. Onto the desktop Puppy boots right into its Jwm desktop which is very colorful like kid...
Read more... Comment (2)

25+ examples of Linux find command – search files from command line

Linux find command The Linux find command is a very useful and handy command to search for files from the command line. It can be used to search for files based on various criterias like permissions, user ownership, modification date/time, size etc. In this post we shall learn to use the find command along with various options that it supports. The examples are broken down into discrete examples making it easy to learn and comprehend. The find command is available on most linux distros by default so you do not have to install any package. This is a command you must master, if you want to get comfortable with your linux system. So lets begin with the command. The basic format of the syntax is like this find where-to-look criteria what-to-look-for Basic examples 1. List all files in current and sub directories This command lists out all the files in the current directory as well as the subdirectories in the current directory. $ find . ./abc.txt ./subdir ./subdir/how.php ./cool.php The command is same as the following $ find . $ find . -print 2. Search specific directory or path The following command will look for files in the test directory in the current directory. Lists out all files by default. $ find ./test ./test ./test/abc.txt ./test/subdir ./test/subdir/how.php ./test/cool.php The following command searches for files by their name. $ find ./test -name abc.txt ./test/abc.txt We can also use wildcards $ find ./test -name *.php ./test/subdir/how.php ./test/cool.php Note that all sub directories are searched recursively. So this is a very powerful way to find all files of a given extension. Trying to search the "/" directory which is the root, would search the entire file system including mounted devices and network storage devices. So be careful. Of course you can press Ctrl + c anytime to stop the command. Ignore the case It is often useful to ignore the case when searching for file names. To ignore the case, just use the "iname" option instead of the "name" option. $ find ./test -iname *.Php ./test/subdir/how.php ./test/cool.php 3. Limit depth of directory traversal The find command by default travels down the entire directory tree recursively, which is time and resource consuming. However the depth of directory travesal can be specified. For example we don't want to go more than 2 or 3 levels down in the sub directories. This is done using the maxdepth option. $ find ./test -maxdepth 2 -name *.php ./test/subdir/how.php ./test/cool.php $ find ./test -maxdepth 1 -name *.php ./test/cool.php The second example uses maxdepth of 1, which means it will not go lower than 1 level deep, either only in the current directory. This is very useful when we want to do a limited search only in the current directory or max 1 level deep sub directories and not the entire directory tree which would take more time. Just like maxdepth there is an option called mindepth which does what the name suggests, that is, it will go atleast N...
Read more... Comment (3)

Reviewing Kali Linux – The Distro for Security Geeks

An introduction to Kali Linux - the distro for security geeks

When it comes to hacking, security, forensics etc, linux is the only and the preferred tool. Linux is very hacker friendly from ground up. But still there are distros that are more oriented towards assisting hackers. To name a few, backtrack, backbox, blackbuntu etc.

Backtrack is the most popular distro when it comes to penetration testing and security stuff. And now it has taken a new avatar called Kali Linux. Kali Linux is the new name of backtrack (version 5 rc3 was the last backtrack release).


Read more at BinaryTides


Starting a Linux Branch in Srilanka


My name is janith kashan and i am a software engneer as well as i have done CCNA (Cisco Cerificate In Network Admistartion) so i want to tell you is me and my group can promot linux OS in sril lanka so if my idea is a good one please let me know you can send me a mail to my e mail 

This e-mail address is being protected from spambots. You need JavaScript enabled to view it

this will be a greate idea i hop so




How to Turn a PC Into a Linux Web Kiosk

Webconverger in Costa Rica!

Although the PC market is in turmoil, it has never been easier to replace its out-of-date, often unsupported, bloated & infected preinstalled OS with a Linux alternative.

In this tutorial, I'll explain how to turn your PC into a Web kiosk. What's a Web kiosk? It's a PC that directs the public to a certain intended Web application. Imagine public computers found at a library or a cafe, these would be considered Web kiosks.

You might think configuring your favourite desktop operating system to start a browser is easy enough, though the devil is in the details.

  1. Is the system locked down so the user can only get access to the browser?

  2. Does the system have a window manager which can allow a misuse like hiding and minimising the browser?

  3. Does the system prevent downloads in order to save bandwidth?

  4. Is the browser locked down so no malicious addons or configurations can be set?

  5. When a user has finished using the kiosk, is that user's data wiped clean? Is it security reviewed & validated?

  6. Does the kiosk stay upto date with latest security and HTML developments?

  7. Can the kiosk be setup without a URL bar or restricted so the user can't browse sites that have nothing to do with the intended application?

Webconverger is such a Linux kiosk solution that is focused on all these details, delivering Web kiosk software in deployments ranging from retail banks to call centers to community centers.

To try Webconverger out on your PC without touching any existing data, you need 1Gigabyte of RAM and any USB stick you are willing to format.

Download Webconverger and follow the detailed instructions for Windows, Linux or Mac on how to put Webconverger on it upon on a USB memory stick

Once you have the USB stick ready, you need to choose to boot from it in your BIOS menu. Next you should see the Webconverger boot menu and the Live default is just fine.

With any luck, you should now have a Web browser looking back at you. Browse the Web and once you are finished, close the tab to ensure every trace of your session is kept private.

If you install Webconverger, Webconverger will stay uptodate with its unique git upgrade technology. So it's as close as you can get to zero maintenance.

So if you have a place that could use more traffic, set up a PC with Webconverger Web kiosk and turn it into a destination.


Apt get tutorial – manage packages on ubuntu/debian

The more common way to manage packages or softwares is from Synaptic Package Manager. Its the easiest gui tool to install and remove software from your debian/ubuntu system.

However for those who prefer the console, there are plenty of tools to do the job as easily. In this tutorial we are going to look into apt, the package management tool used on ubuntu. Even I used to use the synaptic gui earlier, when I started with the commandline tools, I found the commandline tools easier and faster.

On ubuntu there are 3 main commands to manage packages. These are dpkg, apt-* and aptitude. So lets start experimenting with these one by one.


Read full tutorial here

Apt tutorial - package management on ubuntu and debian


Witech Presenting ALL-READY Linux&Android Development Kit

The well-known ARM development kit supplier Witech Embedded recently introduced another high-end ARM Cortext-A8 Linux&Android dev kit based on Samsung S5PV210 microcontroller targeting multi-media terminal, consumer electronic devices and invehicle infotainment systems, with the name of OK210-A.

ok210 7

Just like the elder OK6410, OK210-A is also designed to be ALL-READY. “By ALL-READY we mean the OK210-A is delivered with everything ready-to-go. The OK210-A carries almost everything that customers would need, and everything is already working”, says the CEO of Witech Embedded, “Together with the OK210-A we provide board support packages for Embedded Linux and Android, the most popular embedded operating systems in the current world, which includes complete drivers and sample programs for all on-board resources. Customers can either use them directly, or customize their own systems on the basis of provided resources”.

“Purpose of introducing such all-ready products is to help customers to simplify their development cycle, shorten time-to-market and avoid design risks”, said the CEO.


The OK210-A features:
• Samsung S5PV210 ARM Cortex-A8 microcontroller, main frequency @ 1GHz;
• 512MB DDR RAM;
• 1GB NAND Flash;
• 4 serial ports, including 2 5-wire RS232 (DB9) and 2 3-wire TTL (20pin 2.0mm connector);
• 1 Ethernet port, 10M/ 100M auto-adaptive;
• 4 USB Host interface supporting USB2.0 protocol;
• 1 USB OTG interface supporting USB2.0 protocol;
• 1 high-speed SD card slot supporting up to 32GB SDHC card;
• 1 TF card slot;
• 1 SDIO WIFI connector;
• 1 CMOS camera connector supporting OV3640 3MP CMOS Camera;
• 1 HDMI interface;
• 1 CVBS output interface;
• 1 54pin LCD interface;
• 3 3.5mm Stereo audio I/O sockets, WM9714;
• 1 matix keyboard connector;
• 1 JTAG interface;
• 1 Active Buzzer;
• 4 LEDs;
• 1 18b20 temperature sensor;
• 1 infrared receiver;
• 1 reset button;
• 8 user buttons;
• Built-in RTC (Real Time Clock) with back-up battery;
• 1 SPI channel, 10pin 2.0mm connector;
• 1 IIC channel, 10pin 2.0mm connector;
• 1 A/D channel, connected to adjustable resistance for ADC testing;
• Dimension: 130 x 190mm
• Working Temperature: -10°C ~ +60°C
• Working Humidity: 10% ~ 95%
• GPS, GPRS, 3G, WIFI, CMOS Camera available as Add-on modules
Board support packages and sample programs are provided with source code, binaries, and documentations for Linux-2.6.35 Linux-3.0.8, Android 2.3 and Android 4.0.

Availability: The OK210-A ARM Cortext A8 development kit bundled with a 7” capacitive touch screen is available now for US$199.00 at Witech's official website


How to get gorgeous looking fonts on ubuntu linux

Fonts on linux have long been an issue due to various reasons like the BCI patent by Apple, lack of free quality fonts etc. However over time things have changed and now its possible to get your linux system fonts look as good as, or even better than a mac or windows 8 as far as fonts are concerned. In this post I am going to show you couple of simple tricks that can make the fonts of your linux system look amazing!!


Read the full story here

How to get gorgeous looking fonts on ubuntu linux


Disable & Enable USB from terminal

Hello guys, i'm the new user in this community. Hope all of you guys take me as the familly in this community.

2013-07-05-232714 1024x600 scrotIn this article, i would share about "how to disable usb from the terminal". This article i take from my blog, but, I write the article in Bahasa. So, I just convert it into english. The concept is very easy. In this case, I use several command from linux to operate the usb on/off with the bash shell scripting. And you must use the root for the access user. I have tried in linux ubuntu and work normally.


Before we going into the topic, I would to say something about my purpose creating this article. So, i have modem and my modem can connect with linux by using wvdial service. Wvdial is package on debian variety, used to dial your modem by terminal with carrier.  So, i have problem after I dial with this modem. That is, whenever i didn't got signal and the modem automatically disconnect. And whenever I tried to connect again with wvdial without I pull out my modem, the wvdial will be error and I can't connect again. So, to fix the problem, I thinking something. Yes, and that is "How I can control the usb off and on by terminal?".  Here we go, this is way how to do it :

  1. First time, our modem must be plugged into our usb. 
  2. After that, we trying to connect with wvdial command. Ups, I cannot got carrier.The first solution for a long time is I pull out the modem from usb and wait a few second than I plug again into usb. it's very make me feel bored and angry.
  3. So, to fix the problem without do the really bad clue. First time, You must open the terminal and make access as super user : "sudo lsusb -t|less", this command will be give you list the active usb. And in the result is :
  4. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
         /:  Bus 05.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
         /:  Bus 04.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
         /:  Bus 03.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
        |__ Port 1: Dev 2, If 0, class="HID", Driver=usbhid, 1.5M
        /:  Bus 02.Port 1: Dev 1, class="root_hub", Driver=uhci_hcd/2p, 12M
        |__ Port 1: Dev 6, If 0, class="vend"., Driver=usbserial_generic, 12M
        |__ Port 1: Dev 6, If 1, class="vend"., Driver=usbserial_generic, 12M
        |__ Port 1: Dev 6, If 2, class="vend"., Driver=usbserial_generic, 12M
        |__ Port 1: Dev 6, If 3, class="stor"., Driver=usb-storage, 12M
    |__ Port 2: Dev 3, If 0, class="HID", Driver=usbhid, 1.5M
        |__ Port 2: Dev 3, If 1, class="HID", Driver=usbhid, 1.5M
        /:  Bus 01.Port 1: Dev 1, class="root_hub", Driver=ehci_hcd/8p, 480M
        |__ Port 6: Dev 5, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M     |__ Port 6: Dev 5, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
  5. After we know the actived usb that connect with our modem. Do this command
       "echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/unbind" <- to make usb disable/turn off
    NB : '2-1' is the process that we will be kill.
    after you do that command, the usb will be disable.
  6. Trying to dial again with wvdial. So we have the result  :
    eject: unable to find or open device for: `/dev/sr0'
    --> WvDial: Internet dialer version 1.60
    --> Cannot open /dev/ttyUSB0: No such file or directory
    --> Cannot open /dev/ttyUSB0: No such file or directory
    --> Cannot open /dev/ttyUSB0: No such file or directory
    *This is good information.That's have mean, the usb succesfully set as disable.
  7. We do again the command such as step number 5 but with different input at the end. So ,like this :
    echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/bind <- to make usb active again // the different command just in the end of syntax.
    NB : '2-1' is process that will be make enable.
  8. Try again with the wvdial command like as before. And.... i no need to pull out and plug in again modem in usb. So, the mainly command is in step 5 and 7.


    e-mail : This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Page 21 of 143

Upcoming Linux Foundation Courses

  1. LFD320 Linux Kernel Internals and Debugging
    03 Nov » 07 Nov - Virtual
  2. LFS416 Linux Security
    03 Nov » 06 Nov - Virtual
  3. LFS426 Linux Performance Tuning
    10 Nov » 13 Nov - Virtual

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board