Arduino "ttyACMx" doesn't exist

I have Arduino UNO connected to RPi and I wanted to use nanpy library to control it using Python directly. When I plug-in the Arduino board, and run "lsusb" command I get

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)

However, when I run "/dev/tty*" I get

/dev/tty    /dev/tty19  /dev/tty3   /dev/tty40  /dev/tty51  /dev/tty62
/dev/tty0   /dev/tty2   /dev/tty30  /dev/tty41  /dev/tty52  /dev/tty63
/dev/tty1   /dev/tty20  /dev/tty31  /dev/tty42  /dev/tty53  /dev/tty7
/dev/tty10  /dev/tty21  /dev/tty32  /dev/tty43  /dev/tty54  /dev/tty8
/dev/tty11  /dev/tty22  /dev/tty33  /dev/tty44  /dev/tty55  /dev/tty9
/dev/tty12  /dev/tty23  /dev/tty34  /dev/tty45  /dev/tty56  /dev/ttyAMA0
/dev/tty13  /dev/tty24  /dev/tty35  /dev/tty46  /dev/tty57  /dev/ttyprintk
/dev/tty14  /dev/tty25  /dev/tty36  /dev/tty47  /dev/tty58
/dev/tty15  /dev/tty26  /dev/tty37  /dev/tty48  /dev/tty59
/dev/tty16  /dev/tty27  /dev/tty38  /dev/tty49  /dev/tty6
/dev/tty17  /dev/tty28  /dev/tty39  /dev/tty5   /dev/tty60
/dev/tty18  /dev/tty29  /dev/tty4   /dev/tty50  /dev/tty61

I don't understand why the /dev/ttyACM0 file doesn't exist !
Consequently, the Arduino IDE tools menu -> Serial Port is empty.

Any solution to this problem ?!

What does an ls /dev/ return with no board plugged in?

Almost the same as with plugging it in.
I will post the exact output later on today (because it is 4 AM now -_- )

Does dmesg show the Arduino being plugged in?

This is what shows up on my system when I plug it in.

[699469.645225] usb 4-2: Manufacturer: Arduino (
[699469.645230] usb 4-2: SerialNumber: 75330303035351E020E0
[699469.651476] cdc_acm 4-2:1.0: ttyACM0: USB ACM device

As for the Arduino tool kit, I don't see the ttyACM0 unless I start it AFTER I plug the Arduino into the USB port.

The output of
ls /dev/tty*
without plugging the Arduino in is the same as with plugging it in.

For the output of
here it is (just a portion of course) :

[    4.430094] udevd[156]: starting version 175
[    4.486055] usb 1- New USB device found, idVendor=0403, idProduct=6001
[    4.513819] usb 1- New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.541584] usb 1- Product: FT232R USB UART
[    4.558230] usb 1- Manufacturer: FTDI
[    4.576526] usb 1- SerialNumber: A6031RCX
[    4.708384] usb 1- new full-speed USB device number 7 using dwc_otg
[    4.855849] usb 1- New USB device found, idVendor=2341, idProduct=0043
[    4.891457] usb 1- New USB device strings: Mfr=1, Product=2, SerialNumber=220
[    4.923557] usb 1- Manufacturer: Arduino (
[    4.949369] usb 1- SerialNumber: 74137363737351F061F1
[   10.060194] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   10.548314] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   16.138770] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   19.411070] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   20.975200] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   24.851460] Adding 102396k swap on /var/swap.  Priority:-1 extents:1 across:102396k SSFS

That looks like you plugged in something else after the board which looks like it was part detected.

Have you checked you have drivers available for the board?

There may be a configuration issue in the "/etc/udev/rules.d" directory or a permission in "group".

On my machine I have a "99-serial.rules" that creates the ttyACM device when a device is plugged in.

crw-rw-rw-. 1 root dialout 166, 0 Jan 26 17:48 /dev/ttyACM0

I had to add my "username" to the "dialout" group as the ttyACM is created under group "dialout"

Log out and then back in again.

What version of Linux are you using?

Actually, I have had the driver file in /dev , but for some reason after installing the Arduino IDE (maybe installed improperly) the driver file no longer appear in the directory !

I am trying now the hard-way solution : re-installing the debian wheezy OS -_-

Why not check to see if the driver is loaded or modprobe it to load it?