I have found the "serial" library no longer works in Python.2.7. I discovered this when using Python to read and parse a serial stream from my Arduino Uno based weather station. The Arduino listens in on 433MHz signals from my Oregon Scientific weather station sensors and sends a stream of weather data every minute to the web server via a USB/Serial inerface. The web server has worked well with this system 24/7 for the last 5-6 years and suddenly it is broken on the upgrade to 3.13.0-65-generic kernel. Downgrading the Kernel to 3.13.0-63-generic has worked for me and also I am using Ubuntu 14.04.3 LTS as XUbuntu.
Whether it is a problem with Ubuntu or Python or Arduino, I don't know as the latter two may have problems with how the serial interface is initiated or maintained, and the Ubuntu may just have a higher specification now that they can't deal with. However my Arduino IDE downloads programs and 'listens' to the serial stream from the Uno with 3.13.0-65-generic Ok, So my suspicions is the broken bit is between the kernel and Python??? Here is the Python error message- Traceback (most recent call last): File "SerialDemo.py", line 19, in <module> dataIn = ser.readline() File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 460, in read raise SerialException('device reports readiness to read but returned no data (device disconnected?)') serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-lts-trusty in Ubuntu. https://bugs.launchpad.net/bugs/1501345 Title: linux-image-3.13.0-65-generic 3.13.0-65 breaks Python based Serial communication Status in linux-lts-trusty package in Ubuntu: Confirmed Bug description: Today after updating to the linux-image-3.13.0-65-generic 3.13.0-65 Kernel on Lubuntu 14.04.3 LTS two different programs that rely on PySerial quit working. miniterm.py and my ROS (Robot Operating System) based Python node quit working. When rebooted and selected 3.13.0-63-generic via GRUB everything worked again. Here are the steps to create the issue with miniterm.py, note that you need something connected via a USB to Serial adapter for this to work. I am working with a Parallax Activity Board, but an Arduino should also exhibit the same behavior. sudo apt install linux-image-3.13.0-65-generic sudo apt install linux-image-extra-3.13.0-65-generic reboot $ miniterm.py /dev/ttyUSB0 115200 --- Miniterm on /dev/ttyUSB0: 115200,8,N,1 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- --- exit --- Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "/usr/bin/miniterm.py", line 220, in reader data = character(self.serial.read(1)) File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 460, in read raise SerialException('device reports readiness to read but returned no data (device disconnected?)') SerialException: device reports readiness to read but returned no data (device disconnected?) Reverting to the 3.13.0-63 kernel allows miniterm.py and other Python Serial based programs to work normally. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-lts-trusty/+bug/1501345/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp