Unusual USB Devices in Linux Kernel

Some USB devices (especially cheap ones) are not fully compatible with the USB Stack and when you connect such devices to your target board, the kernel may output errors similar to the one below even though most other devices work perfectly. sd 3:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 0 Buffer I/O error on device sda, logical block 0 sd 3:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 8 Buffer I/O error on device sda, logical block 1 sd 3:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 16 sd 3:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 24 sd 3:0:0:0: SCSI error: return code = 0x10070000 It previously happened to us with a IDE to USB adapter based on Super Top Bridge ( VID: 0x14CD / PID: 0x6600). The […]

Installing Chrome OS with CD or USB

Chrome OS is a lightweight Linux distribution build around the Google Chrome Browser, it is not related to Google Chrome OS. I suppose they may have to change the name sometimes in the future. To install it, simply download Chrome OS Live CD to try it out on your hardware. Bear in mind this is a Release Candidate version (Chrome OS 0.9.576 RC released on 7th of December 2010) at this time so it should be relatively stable, but expect a few bugs. Here are the main software packages installed in Chrome OS: GNOME 2.30 desktop environment Google Chrome 9.0.576 web browser Google Picasa 2.7 photo manager OpenOffice.org 3.2 office suite GIMP 2.6 image editor Flash Player 10.1 plugin Wine Windows emulator 1.2 Pidgin 2.6 instant messenger Dashboard in browser (See screenshot below) Here are the system requirements of Chrome OS: Processor: Intel Pentium, Xeon or newer; AMD Duron, Athlon, […]

In-Home Displays for Smart Grid – Atmel – Mentor Embedded

I’ve just attended a webinar organized by Mentor Graphics entitled “In-Home Displays: Enabling Smart Grid into every home” with Atmel and Mentor Embedded. This webinar is now available on-demand at http://go.mentor.com/hAz8 This webinar is divided into 2 parts: Frederic Gaillard – Product Marketing Manager at ATMEL – gave an overview of Smart Grid and its different components and presented Atmel Solutions: MCU/MPU, wireless chips (Zigbee/Wi-Fi) and touch screen chipset. Gordon Cameron – Business Development Manager at Mentor Embedded – focused on the difficulties in developing a user interface for In-Home Displays within a short time frame and how Mentor Embedded UI design solution Inflexion could help greatly reduce the development schedule. There was no external files for this webinar, so I created 2 PDF with the most relevant slides for your reference: Atmel Smart Grid and In-Home Displays Mentor Embedded In-Home Displays UI Development Tools Frederic Gaillard shortly explained the […]

Sharing Thunderbird Emails between Windows and Linux

I’ve used Windows XP with Linux in a virtual machine (VirtualBox) for a while. But since this proved to be very slow,  I’ve just installed Ubuntu (dual boot mode) in my PC. However, I wanted to be able to use the same Thunderbird profile in both OS. So here’s how to do: After installating Ubuntu, open a terminal window and: 1. Install Thunderbird: sudo apt-get install thunderbird 2. Start Thunderbird in Profile Manager mode: thunderbird -profilemanager Then create a new profile (any name) and click on “Change folder” and point it to your Thunderbird profile in Windows (Something like: Documents and Settings\username\Application Data\Thunderbird\Profiles\abcdef.default). You may delete the default profile and start Thunderbird. You should then see all your emails and RSS feeds in Thunderbird and receive and send emails in Linux as you used to in Windows XP. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, […]

Linux Scripts to find Public IP Address

In some cases, you may need to know your public IP or the public IP of a server behind a NAT (e.g. for remote SSH login) if the IP is assigned dynamically as is the case for PPPoE connections. Here are several ways to find your public IP in Linux using the shell. 1. Using curl (almost too simple) curl -s http://www.whatismyip.org 2. Using wget wget -q -O – checkip.dyndns.org|sed -e ‘s/.*Current IP Address: //’ -e ‘s/<.*$//’ 3. Using lynx lynx -dump checkip.dyndns.org If you have access to a web browser, you can simply use http://www.whatismyip.org, http://checkip.dyndns.org or http://www.moanmyip.com. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Linaro: Embedded Linux for ARM

Linaro is a Not For Profit (NFP) engineering organisation that works on Linux based open source software and tools. The organisation focuses on the ARM platform, mainly ARM v7A architecture, for example ARM Cortex-A8 or dual-core Cortex-A9 processors and is sponsored by ARM, Freescale, IBM, Samsung, ST-Ericsson, and Texas Instruments. The purpose of Linaro is to reduce the number of different Linux kernel for the ARM platform. They plan on releasing tools and Linux kernel every 6 months. And after about 6 months of existence, with around  80 engineering staff, they managed to release their first public version:  Linaro-10.11 on the 10th of November for TI OMAP4 Panda Board, IGEPv2, Freescale iMX51 and ST-E U8500 platforms. This release is based on Linux 2.6.35 kernel, GCC 4.4 toolchain and uBoot 2010.09. They released Linux 10.11 source code and tools, the hardware packs and the build instructions. Linaro also planned several technical […]

USB Hotplug Parameters and A Simple Linux USB Hotplug Script

USB Hotplug allows your system to detect a USB device has been inserted or removed and perform certain actions upon the USB device detection. The article below is largely inspired by http://linux-hotplug.sourceforge.net/?selected=hotplug which does not seem to work anymore. USB hotplugging involves: MODULE_DEVICE_TABLE support in the USB Device Driver API, so that a driver’s probe() routine is called only when it’s very likely to want to bind to a particular interface. USB always uses this. Support for invoking the hotplug helper (/sbin/hotplug by default) when devices are added or removed. This functionality is enabled only by CONFIG_HOTPLUG. That hotplug helper usually contacts a policy agent which handles the USB-level configuration or activation tasks appropriate to this device and the current system configuration. Boot-time configuration (“cold-plugging”) can be managed by the /etc/rc.d/init.d/hotplug startup script, if the “usbmodules” command line utility is available. (There is also a “diet hotplug” tool for use […]

Finding a device IP Address

If you are developing software for an Ethernet (or Wifi) device, you’ll need to access the board for debugging and/or testing purpose. If your board does not have user interface or the serial port is not available, you’ll have to find the IP address (assuming it is using DHCP) before accessing the board thru telnet or ssh. A simple way to do that is to ping the broadcast address and check the arp table. > ping -b 192.168.0.255 WARNING: pinging broadcast address PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data. 64 bytes from 192.168.0.246: icmp_seq=0 ttl=64 time=0.018 ms 64 bytes from 192.168.0.101: icmp_seq=0 ttl=64 time=0.217 ms (DUP!) 64 bytes from 192.168.0.246: icmp_seq=1 ttl=64 time=0.023 ms > arp -i eth0 arp -i eth1 Address                  HWtype  HWaddress           Flags Mask            Iface 192.168.0.103            ether   00:50:FC:00:00:01   C                     eth1 192.168.0.109            ether   00:13:20:01:01:01   C                     eth1 If you cannot find your device, it may be configured to […]

Exit mobile version
EmbeddedTS embedded systems design