← Back to team overview

kernel-packages team mailing list archive

[Bug 1501345] Re: linux-image-3.13.0-65-generic 3.13.0-65 breaks Python based Serial communication

 

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


References