Karl Relton
2010-12-16 17:43:58 UTC
I tried the new udev based connector on Ubuntu (Maverick) from the
development ppa.
To get it to work I had to apply the following patch:
--- udev-synce-serial 2010-12-16 17:38:20.517195997 +0000
+++ udev-synce-serial.orig 2010-11-15 20:23:51.628813001 +0000
@@ -39,7 +39,7 @@
# there are no python bindings for udev, so this is a little awkward
# get device name
- cmd_list = ["/sbin/udevadm", "info", "--path="+device_path, "--query=name"]
+ cmd_list = ["udevadm", "info", "--path="+devpath, "--query=name"]
try:
proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_text = proc.communicate()[0]
@@ -55,7 +55,7 @@
devname = output_text.strip()
# get parent device path
- match_obj = re.match('^(.+)/'+devname+'/tty/'+devname, device_path)
+ match_obj = re.match('^(.+)/'+name+"/"+subsystem+'/'+name, devpath)
if match_obj == None:
logger.error("failed to get parent device path from udev")
sys.exit(1)
@@ -63,7 +63,7 @@
parent_devpath = match_obj.group(1)
# find all relevant child devices of the parent
- cmd_list = ["/sbin/udevadm", "info", "--export-db"]
+ cmd_list = ["udevadm", "info", "--export-db"]
try:
proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_text = proc.communicate()[0]
@@ -77,7 +77,7 @@
sys.exit(1)
output_list = output_text.split('\n')
- devpath_re = re.compile('^P: ('+parent_devpath+'.+/tty/.+)')
+ devpath_re = re.compile('^P: ('+parent_devpath+'.+/'+subsystem+'/.+)')
devpath_list = []
for line in output_list:
development ppa.
To get it to work I had to apply the following patch:
--- udev-synce-serial 2010-12-16 17:38:20.517195997 +0000
+++ udev-synce-serial.orig 2010-11-15 20:23:51.628813001 +0000
@@ -39,7 +39,7 @@
# there are no python bindings for udev, so this is a little awkward
# get device name
- cmd_list = ["/sbin/udevadm", "info", "--path="+device_path, "--query=name"]
+ cmd_list = ["udevadm", "info", "--path="+devpath, "--query=name"]
try:
proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_text = proc.communicate()[0]
@@ -55,7 +55,7 @@
devname = output_text.strip()
# get parent device path
- match_obj = re.match('^(.+)/'+devname+'/tty/'+devname, device_path)
+ match_obj = re.match('^(.+)/'+name+"/"+subsystem+'/'+name, devpath)
if match_obj == None:
logger.error("failed to get parent device path from udev")
sys.exit(1)
@@ -63,7 +63,7 @@
parent_devpath = match_obj.group(1)
# find all relevant child devices of the parent
- cmd_list = ["/sbin/udevadm", "info", "--export-db"]
+ cmd_list = ["udevadm", "info", "--export-db"]
try:
proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_text = proc.communicate()[0]
@@ -77,7 +77,7 @@
sys.exit(1)
output_list = output_text.split('\n')
- devpath_re = re.compile('^P: ('+parent_devpath+'.+/tty/.+)')
+ devpath_re = re.compile('^P: ('+parent_devpath+'.+/'+subsystem+'/.+)')
devpath_list = []
for line in output_list: