[ELDK] Using FTDI USB serial converter with ELDK
Detlev Zundel
dzu at denx.de
Tue Sep 28 16:31:31 CEST 2010
Hi Alberto,
> I am trying to connect a cable that includes a FTDI device into my EP440xS
> board. Following the comments found at some forums and web pages, I
> configured the kernel so now I have USB serial converter support (not
> compiled as a module), generic USB serial converter support and FTDI
> support. After that, I downloaded my new kernel image into the board,
> start-up the system, check that the USB subsystem was initializating and
> then plug my cable into the system. After issuing a "dmesg" command, I found
> out that the device was recognized, but no /dev/ttyUSB0 device was created.
This is expected unless you provide means by which such a device file
can be created.
The first option would be to use something like udev. You need to
explicitely enable udev in ELDK 4.2 by either running 'start_udev' as
superuser manually or by enabling the call to it in /etc/rc/sysinit in
line 323.
For embedded systems, I would much rather look at option 2, namely
enabling the devtmpfs filesystem in the linux kernel. This is the
config option:
drivers/base/Kconfig:19
"Device Drivers"
---> "Generic Driver Options"
config DEVTMPFS
bool "Maintain a devtmpfs filesystem to mount at /dev"
depends on HOTPLUG
help
This creates a tmpfs/ramfs filesystem instance early at bootup.
In this filesystem, the kernel driver core maintains device
nodes with their default names and permissions for all
registered devices with an assigned major/minor number.
Userspace can modify the filesystem content as needed, add
symlinks, and apply needed permissions.
It provides a fully functional /dev directory, where usually
udev runs on top, managing permissions and adding meaningful
symlinks.
In very limited environments, it may provide a sufficient
functional /dev without any further help. It also allows simple
rescue systems, and reliably handles dynamic major/minor numbers.
Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs
file system will be used instead.
Also be sure to enable this option:
drivers/base/Kconfig:39
"Device Drivers"
---> "Generic Driver Options"
config DEVTMPFS_MOUNT
bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
depends on DEVTMPFS
help
This will instruct the kernel to automatically mount the
devtmpfs filesystem at /dev, directly after the kernel has
mounted the root filesystem. The behavior can be overridden
with the commandline parameter: devtmpfs.mount=0|1.
This option does not affect initramfs based booting, here
the devtmpfs filesystem always needs to be mounted manually
after the roots is mounted.
With this option enabled, it allows to bring up a system in
rescue mode with init=/bin/sh, even when the /dev directory
on the rootfs is completely empty.
Then the device should show up after plugging it in.
Cheers
Detlev
--
But solicitors and stockbrokers and bookmakers often lead comfortable and
happy lives, and it is very difficult to see how the world is richer for
their existence. -- G. H. Hardy
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
More information about the eldk
mailing list