adafruit-beaglebone-io-python
adafruit-beaglebone-io-python copied to clipboard
I2C issue with Adafruit-BBIO 1.2.0
Howdy good folks. My issue is I want to use simple program for my MotorBridge Cape v1.0
import MotorBridge
import time
ServoName = 1
Frequency = 50
Angle1 = 45
Angle2 = 90
Angle3 = 135
Angle4 = 170
Angle5 = 135
Angle6 = 90
Angle7 = 45
Angle8 = 15
Angle0 = 90
if __name__=="__main__":
motor = MotorBridge.MotorBridgeCape()
motor.ServoInit(ServoName,Frequency)
while True:
motor.ServoMoveAngle(ServoName,Angle1)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle2)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle3)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle4)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle5)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle6)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle7)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle8)
time.sleep(0.5)
motor.ServoMoveAngle(ServoName,Angle0)
time.sleep(2)
and when i want to fired up this simple servo test i had this:
Traceback (most recent call last):
File "/var/lib/cloud9/my_python/servotest.py", line 18, in <module>
motor.ServoInit(ServoName,Frequency)
File "/var/lib/cloud9/my_python/MotorBridge.py", line 345, in ServoInit
WriteHalfWord(SVM1_FREQ,Frequency)
File "/var/lib/cloud9/my_python/MotorBridge.py", line 212, in WriteHalfWord
MotorBridge.writeList(WriteMode,data)
File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/I2C.py", line 129, in writeList
File "/usr/local/lib/python3.7/dist-packages/Adafruit_PureIO-1.1.8-py3.7.egg/Adafruit_PureIO/smbus.py", line 364, in write_i2c_block_data
OSError: [Errno 121] Remote I/O error
This is my script versions below:
sudo /opt/scripts/tools/version.sh
git:/opt/scripts/:[029041f6866049997bbfd2c7667b3c6e8c95201c]
eeprom:[A335BNLT00C05114BBBK1322]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Buster LXQt Image 2020-05-18]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g31a8ae0206]:[location: dd MBR]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2019.04-00002-g31a8ae0206]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0]
UBOOT: Loaded Overlay:[BB-HDMI-TDA998x-00A0]
UBOOT: Loaded Overlay:[BB-UART2-00A0]
kernel:[4.19.94-ti-r43]
nodejs:[v10.19.0]
/boot/uEnv.txt Settings:
uboot_overlay_options:[uboot_overlay_addr0=/lib/firmware/BB-UART2-00A0.dtbo]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade
uname -a Linux beaglebone 4.19.94-ti-r43 #1buster SMP PREEMPT Wed Apr 22 06:11:16 UTC 2020 armv7l GNU/Linux
I had this problem with any debian on my BBB...Can someon help me or someone had similiar problem? Thanks for any help. Tom.
I am not familiar with MotorBridge. Could you link to where that library lives?
Hello Drew. Thanks for answer me. The library for this cape it's very simple to use and its based on Adafruit-GPIO library. Below i write how to use this cape:
import MotorBridge
motor = MotorBridge.MotorBridgeCape()
And below we have installing dependiences:
sudo apt-get update sudo apt-get install build-essential python-pip python-dev python-smbus git sudo pip install Adafruit-GPIO
Of course i was used newest installation method with "pip3":
sudo apt-get update sudo apt-get install build-essential python3-dev python3-pip -y sudo pip3 install Adafruit_BBIO
and then i was try to use my simple program and... issue.
Normally the library is copied to the directory where the application you want to run is and which references that application.
For example if i have file of my application in folder like this:
/my_python/servotest.py
in this same folder i must have MotorBridge.py library, like this example:
/my_python/MotorBridge.py
In addition, below I present the entire link for this library for better analysis:
https://github.com/Seeed-Studio/MotorBridgeCapeforBBG_BBB/tree/master/BBG_MotorBridgeCape
Forgive my long description but I don't speak English well. Thank you for your response and help. Maybe you can figure out what this topic is about.
Anyone have some idea?
@tomek242 sorry for the delay. Please try running with strace so we might be able to see where the error occurs:
sudo strace -o /tmp/strace-log.txt -f python test.py
and change test.py to be whatever your script is. And then upload strace-log.txt here
This issues in the MotoBridgeCape might also be related: https://github.com/Seeed-Studio/MotorBridgeCapeforBBG_BBB/issues/6
@Pillar1989 do you know who at Seeed is working on the BBG_MotorBridgeCape? Thank you
Hello,
It is late now but I have some resources on this effort...
https://github.com/silver2row/bbg is the link I created some time ago. I keep updating it but sometimes I shy away from it all at once.
Seth
P.S. If you would like to have it work, just follow that repo. and if you have any issues, just ask away.
Hello.
I just had more time to test everything and thats the results of sudo strace -o /tmp/strace-log.txt -f python servotest.py
Traceback (most recent call last): File "servotest.py", line 1, in <module> import MotorBridge File "/var/lib/cloud9/my_python/MotorBridge.py", line 33, in <module> import Adafruit_GPIO.I2C as I2C ImportError: No module named Adafruit_GPIO.I2C
In other side i was tested MotorBridge.py:
Traceback (most recent call last): File "MotorBridge.py", line 33, in <module> import Adafruit_GPIO.I2C as I2C ImportError: No module named Adafruit_GPIO.I2C
... same problem No module named Adafruit_GPIO.I2C
And this is the strace log: 2268 execve("/usr/bin/python", ["python", "MotorBridge.py"], 0xbe958790 /* 14 vars /) = 0 2268 brk(NULL) = 0x1d98000 2268 uname({sysname="Linux", nodename="beaglebone", ...}) = 0 2268 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f30000 2268 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=128526, ...}) = 0 2268 mmap2(NULL, 128526, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6eea000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0001M\0\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 108864, [108864], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400 2268 _llseek(3, 74184, [74184], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 fstat64(3, {st_mode=S_IFREG|0755, st_size=110264, ...}) = 0 2268 mmap2(NULL, 148080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ec5000 2268 mprotect(0xb6ed7000, 61440, PROT_NONE) = 0 2268 mmap2(0xb6ee6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xb6ee6000 2268 mmap2(0xb6ee8000, 4720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6ee8000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\n\0\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 8692, [8692], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8340, [8340], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 8692, [8692], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8340, [8340], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 8692, [8692], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8340, [8340], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=9772, ...}) = 0 2268 mmap2(NULL, 73924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eb2000 2268 mprotect(0xb6eb4000, 61440, PROT_NONE) = 0 2268 mmap2(0xb6ec3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6ec3000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libutil.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\n\0\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 8720, [8720], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8368, [8368], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 8720, [8720], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8368, [8368], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 _llseek(3, 8720, [8720], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 8368, [8368], SEEK_SET) = 0 2268 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=9800, ...}) = 0 2268 mmap2(NULL, 73908, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e9f000 2268 mprotect(0xb6ea1000, 61440, PROT_NONE) = 0 2268 mmap2(0xb6eb0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6eb0000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0h\32\0\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 _llseek(3, 78420, [78420], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 78056, [78056], SEEK_SET) = 0 2268 read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=79500, ...}) = 0 2268 mmap2(NULL, 143596, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e7b000 2268 mprotect(0xb6e8e000, 61440, PROT_NONE) = 0 2268 mmap2(0xb6e9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0xb6e9d000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250r\0\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 434644, [434644], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 434288, [434288], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 2268 _llseek(3, 434644, [434644], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 434288, [434288], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 2268 _llseek(3, 434644, [434644], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080 2268 _llseek(3, 434288, [434288], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=435724, ...}) = 0 2268 mmap2(NULL, 499832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e00000 2268 mprotect(0xb6e6a000, 61440, PROT_NONE) = 0 2268 mmap2(0xb6e79000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0xb6e79000 2268 close(3) = 0 2268 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\09v\1\0004\0\0\0"..., 512) = 512 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 _llseek(3, 949188, [949188], SEEK_SET) = 0 2268 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840 2268 _llseek(3, 945756, [945756], SEEK_SET) = 0 2268 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 2268 fstat64(3, {st_mode=S_IFREG|0755, st_size=952028, ...}) = 0 2268 mmap2(NULL, 1020732, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d06000 2268 mprotect(0xb6dea000, 65536, PROT_NONE) = 0 2268 mmap2(0xb6dfa000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe4000) = 0xb6dfa000 2268 mmap2(0xb6dfd000, 9020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6dfd000 2268 close(3) = 0 2268 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f2e000 2268 set_tls(0xb6f2e4d0) = 0 2268 mprotect(0xb6dfa000, 8192, PROT_READ) = 0 2268 mprotect(0xb6e79000, 4096, PROT_READ) = 0 2268 mprotect(0xb6e9d000, 4096, PROT_READ) = 0 2268 mprotect(0xb6eb0000, 4096, PROT_READ) = 0 2268 mprotect(0xb6ec3000, 4096, PROT_READ) = 0 2268 mprotect(0xb6ee6000, 4096, PROT_READ) = 0 2268 mprotect(0x70f000, 4096, PROT_READ) = 0 2268 mprotect(0xb6f32000, 4096, PROT_READ) = 0 2268 munmap(0xb6eea000, 128526) = 0 2268 set_tid_address(0xb6f2e078) = 2268 2268 set_robust_list(0xb6f2e080, 12) = 0 2268 rt_sigaction(SIGRTMIN, {sa_handler=0xb6ec989d, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xb6d2bcb1}, NULL, 8) = 0 2268 rt_sigaction(SIGRT_1, {sa_handler=0xb6ec9921, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xb6d2bcb1}, NULL, 8) = 0 2268 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 2268 ugetrlimit(RLIMIT_STACK, {rlim_cur=81921024, rlim_max=RLIM_INFINITY}) = 0 2268 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 2268 brk(NULL) = 0x1d98000 2268 brk(0x1db9000) = 0x1db9000 2268 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6cc6000 2268 fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}) = 0 2268 fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}) = 0 2268 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}) = 0 2268 fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}) = 0 2268 stat64("/usr/local/sbin/python", 0xbee00490) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/local/bin/python", 0xbee00490) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/sbin/python", 0xbee00490) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/bin/python", {st_mode=S_IFREG|0755, st_size=2576604, ...}) = 0 2268 readlink("/usr/bin/python", "python2", 4096) = 7 2268 readlink("/usr/bin/python2", "python2.7", 4096) = 9 2268 readlink("/usr/bin/python2.7", 0xbee00490, 4096) = -1 EINVAL (Invalid argument) 2268 stat64("/usr/bin/Modules/Setup", 0xbedff408) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/bin/lib/python2.7/os.py", 0xbedff3f8) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/bin/lib/python2.7/os.pyc", 0xbedff3f8) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/os.py", {st_mode=S_IFREG|0644, st_size=25910, ...}) = 0 2268 stat64("/usr/bin/pybuilddir.txt", 0xbedff408) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/bin/lib/python2.7/lib-dynload", 0xbedff408) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGXFSZ, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 getpid() = 2268 2268 rt_sigaction(SIGHUP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGTRAP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGABRT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGBUS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGFPE, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGKILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGUSR1, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGSEGV, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGUSR2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, 8) = 0 2268 rt_sigaction(SIGALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGSTKFLT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGCHLD, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGCONT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGSTOP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGTSTP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGTTIN, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGTTOU, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGURG, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGXCPU, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGXFSZ, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, 8) = 0 2268 rt_sigaction(SIGVTALRM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGPROF, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGWINCH, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGIO, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGPWR, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGSYS, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_2, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_3, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_4, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_5, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_6, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_7, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_8, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_9, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_10, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_11, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_12, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_13, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_14, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_15, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_16, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_17, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_18, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_19, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_20, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_21, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_22, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_23, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_24, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_25, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_26, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_27, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_28, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_29, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_30, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_31, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGRT_32, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 rt_sigaction(SIGINT, {sa_handler=0x5b8e0d, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 2268 stat64("/usr/lib/python2.7", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0 2268 stat64("/usr/lib/python2.7", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0 2268 stat64("/usr/lib/python2.7/site", 0xbee00380) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/site.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/site.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/site.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=19947, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/site.pyc", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=19535, ...}) = 0 2268 brk(0x1dda000) = 0x1dda000 2268 read(4, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0sp\1\0\0d\0"..., 4096) = 4096 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=19535, ...}) = 0 2268 read(4, "\0(\0\0\0\0s\32\0\0\0/usr/lib/python2.7/si"..., 12288) = 12288 2268 read(4, "scii', but if you're willing to "..., 4096) = 3151 2268 read(4, "", 4096) = 0 2268 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6c86000 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/os", 0xbee00048) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/os.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/os.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/osmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/os.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=25910, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/os.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=25583, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\16\0\0\0@\0\0\0s\372\6\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=25583, ...}) = 0 2268 read(5, " N(\t\0\0\0R\t\0\0\0t\5\0\0\0splitt\6\0\0\0exis"..., 20480) = 20480 2268 read(5, "R\31\0\0\0(X\0\0\0t\7\0\0\0__doc__RO\0\0\0R"\0\0\0"..., 4096) = 1007 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 sysinfo({uptime=1210, loads=[41408, 44000, 51008], totalram=506900480, freeram=227106816, sharedram=3051520, bufferram=20500480, totalswap=0, freeswap=0, procs=147, totalhigh=0, freehigh=0, mem_unit=1}) = 0 2268 stat64("/usr/lib/python2.7/posixpath", 0xbedffd10) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/posixpath.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/posixpath.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/posixpathmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/posixpath.py", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=14293, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/posixpath.pyc", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=11416, ...}) = 0 2268 read(6, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0&\0\0\0@\0\0\0s\373\1\0\0d\0"..., 4096) = 4096 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=11416, ...}) = 0 2268 read(6, "\0\0\0Test whether a path exists. "..., 4096) = 4096 2268 read(6, "yst\25\0\0\0getfilesystemencodingt\10\0\0"..., 4096) = 3224 2268 read(6, "", 4096) = 0 2268 close(6) = 0 2268 stat64("/usr/lib/python2.7/stat", 0xbedff9d8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/stat.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/stat.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/statmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/stat.py", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=1842, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/stat.pyc", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=2731, ...}) = 0 2268 read(7, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\1\0\0\0@\0\0\0s{\1\0\0d\0"..., 4096) = 2731 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=2731, ...}) = 0 2268 read(7, "", 4096) = 0 2268 brk(0x1e0b000) = 0x1e0b000 2268 close(7) = 0 2268 close(6) = 0 2268 stat64("/usr/lib/python2.7/genericpath", 0xbedff9d8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/genericpath.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/genericpath.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/genericpathmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/genericpath.py", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=3201, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/genericpath.pyc", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=3495, ...}) = 0 2268 read(7, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\10\0\0\0@\0\0\0s\305\0\0\0d\0"..., 4096) = 3495 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=3495, ...}) = 0 2268 read(7, "", 4096) = 0 2268 close(7) = 0 2268 close(6) = 0 2268 stat64("/usr/lib/python2.7/warnings", 0xbedff9d8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/warnings.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/warnings.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/warningsmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/warnings.py", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=14823, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/warnings.pyc", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=13464, ...}) = 0 2268 read(7, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\10\0\0\0@\0\0\0sY\2\0\0d\0"..., 4096) = 4096 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=13464, ...}) = 0 2268 read(7, " warnings filters (at the front)"..., 8192) = 8192 2268 read(7, "\0\0\0R\n\0\0\0(\2\0\0\0R\200\0\0\0R\2\0\0\0(\0\0\0\0(\1\0\0"..., 4096) = 1176 2268 read(7, "", 4096) = 0 2268 close(7) = 0 2268 stat64("/usr/lib/python2.7/linecache", 0xbedff6a0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/linecache.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/linecache.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/linecachemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/linecache.py", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=4027, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/linecache.pyc", O_RDONLY|O_LARGEFILE) = 8 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=3260, ...}) = 0 2268 read(8, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0sp\0\0\0d\0"..., 4096) = 3260 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=3260, ...}) = 0 2268 read(8, "", 4096) = 0 2268 close(8) = 0 2268 close(7) = 0 2268 stat64("/usr/lib/python2.7/types", 0xbedff6a0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/types.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/types.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/typesmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/types.py", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=2094, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/types.pyc", O_RDONLY|O_LARGEFILE) = 8 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=2711, ...}) = 0 2268 read(8, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\5\0\0\0@\0\0\0sH\2\0\0d\0"..., 4096) = 2711 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=2711, ...}) = 0 2268 read(8, "", 4096) = 0 2268 close(8) = 0 2268 close(7) = 0 2268 close(6) = 0 2268 close(5) = 0 2268 stat64("/usr/lib/python2.7/UserDict", 0xbedffd10) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/UserDict.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/UserDict.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/UserDictmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/UserDict.py", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=7060, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/UserDict.pyc", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=9621, ...}) = 0 2268 read(6, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0sb\0\0\0d\0"..., 4096) = 4096 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=9621, ...}) = 0 2268 read(6, "got %dR\1\0\0\0i\377\377\377\377s0\0\0\0Passing 'di"..., 4096) = 4096 2268 read(6, "\0\0\261\0\0\0s\f\0\0\0\0\1\3\1\34\1\r\1\r\1\7\1c\2\0\0\0\5\0\0\0"..., 4096) = 1429 2268 read(6, "", 4096) = 0 2268 close(6) = 0 2268 stat64("/usr/lib/python2.7/_abcoll", 0xbedff9d8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_abcoll.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_abcoll.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_abcollmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_abcoll.py", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=18619, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_abcoll.pyc", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=25476, ...}) = 0 2268 read(7, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\20\0\0\0@\0\0\0s\224\2\0\0d\0"..., 4096) = 4096 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=25476, ...}) = 0 2268 read(7, "\1\0Z\7\0RS(\2\0\0\0c\2\0\0\0\2\0\0\0\1\0\0\0C\0\0\0s\4\0"..., 20480) = 20480 2268 read(7, " value.\n Raise ValueEr"..., 4096) = 900 2268 read(7, "", 4096) = 0 2268 close(7) = 0 2268 stat64("/usr/lib/python2.7/abc", 0xbedff6a0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/abc.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/abc.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/abcmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/abc.py", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=7145, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/abc.pyc", O_RDONLY|O_LARGEFILE) = 8 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=6121, ...}) = 0 2268 read(8, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0s}\0\0\0d\0"..., 4096) = 4096 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=6121, ...}) = 0 2268 read(8, "egisteri\0\0\0s\20\0\0\0\0\2\30\1\17\1\17\1\4\3\17\2\17\1\20\1"..., 4096) = 2025 2268 read(8, "", 4096) = 0 2268 close(8) = 0 2268 stat64("/usr/lib/python2.7/_weakrefset", 0xbedff368) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_weakrefset.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_weakrefset.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_weakrefsetmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_weakrefset.py", O_RDONLY|O_LARGEFILE) = 8 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=5911, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_weakrefset.pyc", O_RDONLY|O_LARGEFILE) = 9 2268 fstat64(9, {st_mode=S_IFREG|0644, st_size=9582, ...}) = 0 2268 read(9, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0sI\0\0\0d\0"..., 4096) = 4096 2268 fstat64(9, {st_mode=S_IFREG|0644, st_size=9582, ...}) = 0 2268 read(9, "efset.pyR\27\0\0\0q\0\0\0s\6\0\0\0\0\1\t\1\r\1c\2\0\0"..., 4096) = 4096 2268 read(9, "\26\0\210\0\0j\1\0\203\0\0\1n\0\0\210\0\0|\1\0k\10\0r2\0\210\0\0j\2"..., 4096) = 1390 2268 read(9, "", 4096) = 0 2268 close(9) = 0 2268 close(8) = 0 2268 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6c46000 2268 close(7) = 0 2268 close(6) = 0 2268 close(5) = 0 2268 stat64("/usr/lib/python2.7/copy_reg", 0xbedffd10) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/copy_reg.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/copy_reg.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/copy_regmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/copy_reg.py", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=6974, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/copy_reg.pyc", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=5145, ...}) = 0 2268 read(6, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\5\0\0\0@\0\0\0s\326\0\0\0d\0"..., 4096) = 4096 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=5145, ...}) = 0 2268 read(6, "ith code %ss$\0\0\0code %s is alrea"..., 4096) = 1049 2268 read(6, "", 4096) = 0 2268 close(6) = 0 2268 close(5) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/traceback", 0xbee00048) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/traceback.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/traceback.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/tracebackmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/traceback.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=11285, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/traceback.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=11639, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\16\0\0\0@\0\0\0sB\1\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=11639, ...}) = 0 2268 read(5, "!\0\0\0i\0\0\0\0i\1\0\0\0N(\20\0\0\0R\24\0\0\0R"\0\0\0R\25"..., 4096) = 4096 2268 read(5, "\0\203\0\0\\3\0}\2\0}\3\0}\4\0t\4\0|\2\0|\3\0|\4\0|\0\0|"..., 4096) = 3447 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 close(4) = 0 2268 geteuid32() = 0 2268 getuid32() = 0 2268 getegid32() = 0 2268 getgid32() = 0 2268 stat64("/usr/lib/python2.7/sysconfig", 0xbedffd08) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sysconfig.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sysconfig.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sysconfigmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sysconfig.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=25495, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sysconfig.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=18819, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\7\0\0\0@\0\0\0s"\6\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=18819, ...}) = 0 2268 read(5, "\0local_varst\3\0\0\0var(\0\0\0\0(\0\0\0\0s\37\0"..., 12288) = 12288 2268 read(5, "\0amd64s\t\0\0\0win-amd64t\7\0\0\0itanium"..., 4096) = 2435 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 lstat64("/usr/bin", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0 2268 lstat64("/usr/bin/python", {st_mode=S_IFLNK|0777, st_size=7, ...}) = 0 2268 readlink("/usr/bin/python", "python2", 4096) = 7 2268 lstat64("/usr/bin/python2", {st_mode=S_IFLNK|0777, st_size=9, ...}) = 0 2268 readlink("/usr/bin/python2", "python2.7", 4096) = 9 2268 lstat64("/usr/bin/python2.7", {st_mode=S_IFREG|0755, st_size=2576604, ...}) = 0 2268 stat64("/usr/bin/Modules/Setup.dist", 0xbee00908) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/bin/Modules/Setup.local", 0xbee00908) = -1 ENOENT (No such file or directory) 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/re", 0xbedffaf8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/re.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/re.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/remodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/re.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=13423, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/re.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=13371, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\27\0\0\0@\0\0\0sQ\2\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=13371, ...}) = 0 2268 read(5, "ports the following functions:\n "..., 8192) = 8192 2268 read(5, "\0|\10\0\203\1\0\1n\0\0|\7\0}\5\0q-\0W|\2\0|\1\0|\5\0\37f"..., 4096) = 1083 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 stat64("/usr/lib/python2.7/sre_compile", 0xbedff7c0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_compile.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_compile.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_compilemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_compile.py", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=19823, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_compile.pyc", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=12530, ...}) = 0 2268 read(6, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\16\0\0\0@\0\0\0s\317\1\0\0d\0"..., 4096) = 4096 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=12530, ...}) = 0 2268 read(6, "_compilet\7\0\0\0SUCCESSt\7\0\0\0_simple"..., 8192) = 8192 2268 read(6, "\0intRc\0\0\0Re\0\0\0R'\0\0\0R\225\0\0\0t\7\0\0\0uni"..., 4096) = 242 2268 read(6, "", 4096) = 0 2268 close(6) = 0 2268 stat64("/usr/lib/python2.7/sre_parse", 0xbedff488) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_parse.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_parse.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_parsemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_parse.py", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=30700, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_parse.pyc", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=21084, ...}) = 0 2268 read(7, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\4\0\0\0@\0\0\0s\323\2\0\0d\0"..., 4096) = 4096 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=21084, ...}) = 0 2268 read(7, "\0/usr/lib/python2.7/sre_parse.py"..., 16384) = 16384 2268 read(7, "NNING_STRINGt\v\0\0\0AT_BOUNDARYt\17\0\0"..., 4096) = 604 2268 read(7, "", 4096) = 0 2268 close(7) = 0 2268 stat64("/usr/lib/python2.7/sre_constants", 0xbedff150) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_constants.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_constants.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_constantsmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_constants.py", O_RDONLY|O_LARGEFILE) = 7 2268 fstat64(7, {st_mode=S_IFREG|0644, st_size=7197, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sre_constants.pyc", O_RDONLY|O_LARGEFILE) = 8 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=6185, ...}) = 0 2268 read(8, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0 \0\0\0@\0\0\0s\5\0\0d\0"..., 4096) = 4096 2268 fstat64(8, {st_mode=S_IFREG|0644, st_size=6185, ...}) = 0 2268 read(8, "FIX %d\ns\34\0\0\0#define SRE_INFO_LIT"..., 4096) = 2089 2268 read(8, "", 4096) = 0 2268 close(8) = 0 2268 close(7) = 0 2268 close(6) = 0 2268 close(5) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/_sysconfigdata", 0xbedffa28) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdatamodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=126, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=279, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0s6\0\0\0d\0"..., 4096) = 279 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=279, ...}) = 0 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 stat64("/usr/lib/python2.7/_sysconfigdata_nd", 0xbedff6f0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata_nd.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata_nd.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata_ndmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata_nd.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/_sysconfigdata_nd.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_nd", 0xbedff6f0) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_nd.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_nd.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_ndmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_nd.py", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=18091, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/_sysconfigdata_nd.pyc", O_RDONLY|O_LARGEFILE) = 6 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=20826, ...}) = 0 2268 read(6, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0s\6\17\0\0i$"..., 4096) = 4096 2268 fstat64(6, {st_mode=S_IFREG|0644, st_size=20826, ...}) = 0 2268 read(6, "\10\0\0\0/usr/bint\6\0\0\0BINDIRs\22\0\0\0/usr"..., 16384) = 16384 2268 read(6, "\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\1"..., 4096) = 346 2268 read(6, "", 4096) = 0 2268 close(6) = 0 2268 close(5) = 0 2268 close(4) = 0 2268 brk(0x1e2c000) = 0x1e2c000 2268 stat64("/root/.local/lib/python2.7/site-packages", 0xbee00eb0) = -1 ENOENT (No such file or directory) 2268 stat64("/root/.local/local/lib/python2.7/dist-packages", 0xbee00eb0) = -1 ENOENT (No such file or directory) 2268 stat64("/root/.local/lib/python2.7/dist-packages", 0xbee00eb0) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/local/lib/python2.7/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4 2268 fstat64(4, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0 2268 getdents64(4, /* 2 entries /, 32768) = 48 2268 getdents64(4, / 0 entries /, 32768) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 4 2268 fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 getdents64(4, / 20 entries /, 32768) = 704 2268 getdents64(4, / 0 entries /, 32768) = 0 2268 close(4) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0-pysupport-compat.pth", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=38, ...}) = 0 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=38, ...}) = 0 2268 read(4, "/usr/lib/pymodules/python2.7/gtk"..., 8192) = 38 2268 read(4, "", 4096) = 0 2268 stat64("/usr/lib/pymodules/python2.7/gtk-2.0", 0xbee00c30) = -1 ENOENT (No such file or directory) 2268 read(4, "", 8192) = 0 2268 close(4) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/pygtk.pth", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=8, ...}) = 0 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=8, ...}) = 0 2268 read(4, "gtk-2.0\n", 8192) = 8 2268 read(4, "", 4096) = 0 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 read(4, "", 8192) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/sitecustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitecustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitecustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitecustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitecustomize.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/sitecustomize.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=232, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\5\0\0\0@\0\0\0s2\0\0\0y\20"..., 4096) = 232 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=232, ...}) = 0 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 stat64("/usr/lib/python2.7/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-tk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/lib-tk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/lib-tk/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-old", 0xbedfea50) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0 2268 stat64("/usr/lib/python2.7/lib-old", 0xbedffa40) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/lib-dynload/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/local/lib/python2.7/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0 2268 stat64("/usr/local/lib/python2.7/dist-packages", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0 2268 stat64("/usr/local/lib/python2.7/dist-packages/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/dist-packages", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/dist-packages/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hook", 0xbedffb70) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hook.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hook.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hookmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hook.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/apport_python_hook.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-tk/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-dynload/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/local/lib/python2.7/dist-packages/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomize", 0xbedffea8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomize.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomize.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomizemodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomize.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/usercustomize.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 close(3) = 0 2268 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=3031632, ...}) = 0 2268 mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6a46000 2268 mmap2(NULL, 2596864, PROT_READ, MAP_PRIVATE, 3, 0x6b000) = 0xb67cc000 2268 close(3) = 0 2268 stat64("/usr/lib/python2.7/encodings", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 2268 stat64("/usr/lib/python2.7/encodings/init.py", {st_mode=S_IFREG|0644, st_size=5698, ...}) = 0 2268 stat64("/usr/lib/python2.7/encodings/init", 0xbee003a8) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/init.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/init.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/__init__module.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/init.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=5698, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/init.pyc", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=4370, ...}) = 0 2268 read(4, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0s\216\0\0\0d\0"..., 4096) = 4096 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=4370, ...}) = 0 2268 read(4, "\1$\1$\0016\0016\1\3\1\3\1\26\1"\0015\1\22\3\n\4\3\1\20\1\r\1\4\2\r"..., 4096) = 274 2268 read(4, "", 4096) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/encodings", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 2268 stat64("/usr/lib/python2.7/encodings", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 2268 stat64("/usr/lib/python2.7/encodings/codecs", 0xbee00070) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/codecs.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/codecs.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/codecsmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/codecs.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/codecs.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/codecs", 0xbee00070) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/codecs.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/codecs.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/codecsmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/codecs.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=36143, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/codecs.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=36636, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0+\0\0\0@\0\0\0sp\3\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=36636, ...}) = 0 2268 read(5, "ndling.\n\n The method "..., 28672) = 28672 2268 read(5, "d\n or the codecs doesn't "..., 4096) = 3868 2268 read(5, "", 4096) = 0 2268 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb678c000 2268 close(5) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/encodings/encodings", 0xbee00070) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/encodings.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/encodings.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/encodingsmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/encodings.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/encodings.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/encodings/aliases", 0xbee00030) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/aliases.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/aliases.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/aliasesmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/aliases.py", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=14848, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/aliases.pyc", O_RDONLY|O_LARGEFILE) = 5 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=8768, ...}) = 0 2268 read(5, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0su\10\0\0d\0"..., 4096) = 4096 2268 fstat64(5, {st_mode=S_IFREG|0644, st_size=8768, ...}) = 0 2268 read(5, "ibm860t\6\0\0\0ibm860t\5\0\0\0cp861t\3\0\0\0"..., 4096) = 4096 2268 read(5, "\7\3\7\1\7\1\7\1\7\1\7\1\7\1\7\1\7\3\7\1\7\1\7\3\7\1\7\3\7\1\7\3"..., 4096) = 576 2268 read(5, "", 4096) = 0 2268 close(5) = 0 2268 close(4) = 0 2268 stat64("/usr/lib/python2.7/encodings/builtin", 0xbee00070) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/builtin.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/builtin.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/__builtin__module.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/builtin.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/builtin.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 close(3) = 0 2268 stat64("/usr/lib/python2.7/encodings/utf_8", 0xbee00218) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/utf_8.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/utf_8.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/utf_8module.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/utf_8.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=1005, ...}) = 0 2268 openat(AT_FDCWD, "/usr/lib/python2.7/encodings/utf_8.pyc", O_RDONLY|O_LARGEFILE) = 4 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=1950, ...}) = 0 2268 read(4, "\3\363\r\ng\252\237]c\0\0\0\0\0\0\0\0\3\0\0\0@\0\0\0s\230\0\0\0d\0"..., 4096) = 1950 2268 fstat64(4, {st_mode=S_IFREG|0644, st_size=1950, ...}) = 0 2268 read(4, "", 4096) = 0 2268 close(4) = 0 2268 close(3) = 0 2268 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 2268 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 2268 ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0 2268 readlink("MotorBridge.py", 0xbedfe560, 4096) = -1 EINVAL (Invalid argument) 2268 getcwd("/var/lib/cloud9/my_python", 4096) = 26 2268 lstat64("/var/lib/cloud9/my_python/MotorBridge.py", {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 stat64("MotorBridge.py", {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 openat(AT_FDCWD, "MotorBridge.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 _llseek(3, 8192, [8192], SEEK_SET) = 0 2268 read(3, " time.sleep(DelayTime)\n"..., 3718) = 3718 2268 read(3, "ery step\n myloop()\n", 4096) = 22 2268 close(3) = 0 2268 stat64("MotorBridge.py", {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 openat(AT_FDCWD, "MotorBridge.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 ioctl(3, TCGETS, 0xbee014e0) = -1 ENOTTY (Inappropriate ioctl for device) 2268 _llseek(3, 0, [0], SEEK_CUR) = 0 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 read(3, " # / \n # * MotorBridge.py \n "..., 4096) = 4096 2268 _llseek(3, 0, [0], SEEK_SET) = 0 2268 read(3, " # /* \n # * MotorBridge.py \n "..., 4096) = 4096 2268 read(3, "6_ANGLE = SVM6_FREQ + 2"..., 4096) = 4096 2268 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb674c000 2268 read(3, " time.sleep(DelayTime)\n"..., 4096) = 3740 2268 read(3, "", 4096) = 0 2268 close(3) = 0 2268 brk(0x1e4e000) = 0x1e4e000 2268 brk(0x1e4c000) = 0x1e4c000 2268 brk(0x1e4b000) = 0x1e4b000 2268 stat64("/var/lib/cloud9/my_python", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/var/lib/cloud9/my_python", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 2268 stat64("/var/lib/cloud9/my_python/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/var/lib/cloud9/my_python/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/var/lib/cloud9/my_python/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/var/lib/cloud9/my_python/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/var/lib/cloud9/my_python/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/var/lib/cloud9/my_python/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/plat-arm-linux-gnueabihf/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-tk/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-tk/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/lib-dynload/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/lib-dynload/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/local/lib/python2.7/dist-packages/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 stat64("/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIO", 0xbee00230) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIO.arm-linux-gnueabihf.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIO.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIOmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIO.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 openat(AT_FDCWD, "/usr/lib/python2.7/dist-packages/gtk-2.0/Adafruit_GPIO.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) 2268 write(2, "Traceback (most recent call last"..., 35) = 35 2268 write(2, " File "MotorBridge.py", line 33"..., 46) = 46 2268 openat(AT_FDCWD, "MotorBridge.py", O_RDONLY|O_LARGEFILE) = 3 2268 fstat64(3, {st_mode=S_IFREG|0644, st_size=11932, ...}) = 0 2268 read(3, " # /* \n # * MotorBridge.py \n "..., 4096) = 4096 2268 write(2, " ", 4) = 4 2268 write(2, "import Adafruit_GPIO.I2C as I2C\n", 32) = 32 2268 close(3) = 0 2268 write(2, "ImportError", 11) = 11 2268 write(2, ": ", 2) = 2 2268 write(2, "No module named Adafruit_GPIO.I2"..., 33) = 33 2268 write(2, "\n", 1) = 1 2268 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, {sa_handler=0x5b8e0d, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d2bca1}, 8) = 0 2268 munmap(0xb674c000, 262144) = 0 2268 exit_group(1) = ? 2268 +++ exited with 1 +++
Hello,
It is late now but I have some resources on this effort...
https://github.com/silver2row/bbg is the link I created some time ago. I keep updating it but sometimes I shy away from it all at once.
Seth
P.S. If you would like to have it work, just follow that repo. and if you have any issues, just ask away.
Hello Seth. Where to find smbus2.py to edit this 302 line?
Hello @tomek242 ,
Seth here. Okay, so pip3 install smbus2
is first. And...you may want to create a python3 venv w/ sudo apt install python3-venv
and then python3 -m venv <some_directory>
.
...
Then, go into the Python venv by typing source bin/activate. I am sure you are already familiar w/ these commands. You may also want to track things w/ a requirements.txt
file. After you create that file, type pip3 freeze > requirements.txt
.
Then...to find that line 302 in /smbus/smbus.py
, look in this directory: /lib/python3.7/site-packages/smbus2/smbus2.py
.
Also...in the file pyvenv.cfg, exchange out the false w/ true.
Seth
P.S. If you need any additional ideas, please just reply.
Hello @tomek242 ,
If that is not clear or if you need additional help, just reply. So, set up the venv, go into the venv w/ souce bin/activate, install smbus2 w/ pip3, and then go to the listed dir. at /lib/python3.7/site-packages/smbus2/ while in the venv directly in the venv.
smbus2.py will be located in that dir.
Seth
P.S. Also, stay in the venv to run the file.py of your choice w/ the Motorbridge.py altered file. If you need the altered file, reply and I will do my best to update you. Oh and use python3 and not python2.
Also...look at the MotorBridge.py file at https://github.com/silver2row/bbg/blob/master/MBC/MotorBridge.py . It uses smbus2 instead of the older items of interest that have been put on deprecation and/or are no longer usable. Also, see further down in that file for the differences in the functions. Also...I updated the repo. at https://github.com/silver2row/bbg . Check it out and let me know if that helps!
Hello guys and i have this:
filepath = "/dev/i2c-{}".format(bus)
and a should have this:
filepath = "/dev/i2c-2".format(bus)
sorry for maybe stupid question but it is diffirence between this two codes, the two parentheses ? I mean what does it mean this 2
???
And this is pip3 freeze > requirements.txt
result:
distro==1.3.0 Flask==1.1.2 galternatives==1.0.4 idna==2.6 importlib-metadata==3.4.0 iniconfig==1.1.1 itsdangerous==0.24 Jinja2==2.11.3 MarkupSafe==1.1.0 numpy==1.16.2 packaging==20.9 pluggy==0.13.1 py==1.10.0 pycairo==1.16.2 pyctrl==0.4.3 pycups==1.9.73 PyGObject==3.30.4 pyparsing==2.4.7 pysmbc==1.0.15.6
Well i was use this file https://github.com/silver2row/bbg/blob/master/MBC/MotorBridge.py and thats the result: I try to run simple servo app:
`import MotorBridge import time ServoName = 1 Frequency = 50 Angle1 = 20 Angle2 = 160
if name=="main": motor = MotorBridge.MotorBridgeCape() motor.ServoInit(ServoName,Frequency)
while True:
print ('Servo Test')
motor.ServoMoveAngle(ServoName,Angle1)
time.sleep(2)
motor.ServoMoveAngle(ServoName,Angle2)
time.sleep(2)`
Of course i was used new version of MotorBridge.py with smbus2 and... I had this:
Traceback (most recent call last): File "/var/lib/cloud9/my_python/servo.py", line 12, in <module> motor.ServoInit(ServoName,Frequency) File "/var/lib/cloud9/my_python/MotorBridge.py", line 345, in ServoInit WriteHalfWord(SVM1_FREQ,Frequency) File "/var/lib/cloud9/my_python/MotorBridge.py", line 212, in WriteHalfWord MotorBridge.writeList(WriteMode,data) File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/I2C.py", line 129, in writeList File "/usr/local/lib/python3.7/dist-packages/Adafruit_PureIO-1.1.8-py3.7.egg/Adafruit_PureIO/smbus.py", line 364, in write_i2c_block_data OSError: [Errno 121] Remote I/O error
@tomek242 ,
Hello...
pip3 freeze > requirements.txt
This makes it so you can have all your 'birds in one dish.' I mean, you can have those virtual or venv w/ all the python3 libs.
filepath = "/dev/i2c-2".format(bus)
This makes it so you can use i2c-2 device on the BBB instead of what random guess the software makes to pick a randomly generated i2c-
You did not change the MotorBridge.py file yet. Look here: https://github.com/silver2row/bbg/blob/master/MBC/MotorBridge.py
See that difference and see what your MotorBridge.py file looks like?
Check out mine and let me know what you think.
Seth
P.S. Remember, we have to get MotorBridge.py working first. Then, we can move on to your source.
Hello guys and i have this:
filepath = "/dev/i2c-{}".format(bus)
and a should have this:filepath = "/dev/i2c-2".format(bus)
sorry for maybe stupid question but it is diffirence between this two codes, the two parentheses ? I mean what does it mean this2
??? The2
here is /dev/i2c-2. It is the i2c-2 peripheral from the BBB or whatever board from beagleboard.org you are using.And this is
pip3 freeze > requirements.txt
result: Where isAdafruit_BBIO
?distro==1.3.0 Flask==1.1.2 galternatives==1.0.4 idna==2.6 importlib-metadata==3.4.0 iniconfig==1.1.1 itsdangerous==0.24 Jinja2==2.11.3 MarkupSafe==1.1.0 numpy==1.16.2 packaging==20.9 pluggy==0.13.1 py==1.10.0 pycairo==1.16.2 pyctrl==0.4.3 pycups==1.9.73 PyGObject==3.30.4 pyparsing==2.4.7 pysmbc==1.0.15.6
Well i was use this file https://github.com/silver2row/bbg/blob/master/MBC/MotorBridge.py and thats the result: I try to run simple servo app:
import MotorBridge # Change your MotorBridge.py file first...and then after it is working, we can move on to this source. import time ServoName = 1 Frequency = 50 Angle1 = 20 Angle2 = 160 if __name__=="__main__": motor = MotorBridge.MotorBridgeCape() motor.ServoInit(ServoName,Frequency) while True: print ('Servo Test') motor.ServoMoveAngle(ServoName,Angle1) time.sleep(2) motor.ServoMoveAngle(ServoName,Angle2) time.sleep(2)`
Of course i was used new version of MotorBridge.py with smbus2 and... I had this:
Traceback (most recent call last): File "/var/lib/cloud9/my_python/servo.py", line 12, in <module> motor.ServoInit(ServoName,Frequency) File "/var/lib/cloud9/my_python/MotorBridge.py", line 345, in ServoInit WriteHalfWord(SVM1_FREQ,Frequency) File "/var/lib/cloud9/my_python/MotorBridge.py", line 212, in WriteHalfWord MotorBridge.writeList(WriteMode,data) File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/I2C.py", line 129, in writeList File "/usr/local/lib/python3.7/dist-packages/Adafruit_PureIO-1.1.8-py3.7.egg/Adafruit_PureIO/smbus.py", line 364, in write_i2c_block_data OSError: [Errno 121] Remote I/O error
Hello...you seem to be using Adafruit_GPIO still but it is deprecated. Use smbus2 via a pip3 install, put it in a venv first w/ python -m venv venv, and then make your installs but make sure you have your lib, Adafruit_BBIO, working and installed in the venv. I tried to explain that earlier but I may have not been too clear.
...
Then, after, if you have not altered your MotorBridge.py file yet, we alter the MotorBridge.py file to resemble my adapted source from the original source, we can move on to other aspects of issues.
@tomek242 ,
Hello...Seth here. Did you get it up and running yet? You may want to update/upgrade your packages and kernel to --lts-4_19. There are some updates in this kernel too w/ it being r59.
Seth
P.S. Please reply when you have time...
Hello Seth, hello silver2row. Im sorry for late answer but i had many personal issues since lasy month - not only with my Beagle :-( Anyway, it seems to be install all right. Lines in my file smbus2.py looks like below:
` """ Open a given i2c bus.
:param bus: i2c bus number (e.g. 0 or 1)
or an absolute file path (e.g. '/dev/i2c-42').
:type bus: int or str
:raise TypeError: if type(bus) is not in (int, str)
"""
if isinstance(bus, int):
filepath = "/dev/i2c-2".format(bus) **#this line was changed as u suggest me...**
elif isinstance(bus, str):
filepath = bus
else:
raise TypeError("Unexpected type(bus)={}".format(type(bus)))
self.fd = os.open(filepath, os.O_RDWR)
self.funcs = self._get_funcs()`
I made another attempt to run my servo test program. Results below:
import MotorBridge import time ServoName = 1 Frequency = 50 Angle1 = 20 Angle2 = 160
if name=="main": motor = MotorBridge.MotorBridgeCape() motor.ServoInit(ServoName,Frequency)
while True:
print ('Servo Test')
motor.ServoMoveAngle(ServoName,Angle1)
time.sleep(2)
motor.ServoMoveAngle(ServoName,Angle2)
time.sleep(2)
Trying run and:
Traceback (most recent call last): File "/var/lib/cloud9/my_python/servo.py", line 11, in <module> motor = MotorBridge.MotorBridgeCape() File "/var/lib/cloud9/my_python/MotorBridge.py", line 229, in __init__ GPIO.output(Reset, GPIO.HIGH) NameError: name 'GPIO' is not defined
May be i don't understeand anything or im too stupid to make this... everything seems work correctly bot it isn't:
Below i put line229 from MotorBridge.py:
class MotorBridgeCape: def __init__(self): GPIO.output(Reset, GPIO.HIGH)
# ....and what is wrong in here?
time.sleep(1)
`
Greetings guys and thanks for ur answer and help....
Hello @tomek242 ,
Did you put the BB-UART2-00A0.dtbo in the /boot/uEnv.txt file or use config-pin to handle the UART2 pins?
This may be the cause. Oh and try this source at where you typed:
if name=="main":
But instead of that line, use this line:
if __name__=="__main__":
Also...
Please reply w/ this command cat /boot/uEnv.txt
.
Seth
P.S. Use the spacing when you use if __name__=="__main__":
instantiation.
Try this:
import MotorBridge
import time
ServoName = 1
Frequency = 50
Angle1 = 20
Angle2 = 160
if __name__=="__main__":
print('Hello From MotorBridge')
motor = MotorBridgeCape()
motor.ServoInit(ServoName,Frequency)
while True:
print ('Servo Test')
motor.ServoMoveAngle(ServoName,Angle1)
time.sleep(2)
motor.ServoMoveAngle(ServoName,Angle2)
time.sleep(2)
Also:
Did you change the required portions of MotorBridge.py yet?
Hello @tomek242 ,
Also, the pins on the Motor Bridge Cape are confusing for the servo header. If you are using Servo1 in your source, try to use the exterior pin(s) on the servo header. So, you may be plugged into the sixth servo pin instead of the first servo pin. Try to alter your configuration and...
Perform the necessary adjustments and please reply.
Seth
P.S. Look at these differences compared to the actual https://github.com/Seeed-Studio/MotorBridgeCapeforBBG_BBB/blob/master/BBG_MotorBridgeCape/MotorBridge.py starting on line 31
and 201
.
This is the start located at line 31.
from smbus2 import SMBus
import time
import pathlib
# reset pin is P9.23, i.e. gpio1.17
reset_pin = pathlib.Path('/sys/class/gpio/gpio49/direction')
reset_pin.write_text('low')
bus = SMBus('/dev/i2c-2')
ReadMode = 0
WriteMode = 1
DeAddr = 0X4B
ConfigValid = 0x3a6fb67c
DelayTime = 0.00
This is the start on line 201.
def WriteByte(Reg,Value):
data = [0 for i in range(2)]
data[0] = Reg
data[1] = Value
bus.write_i2c_block_data(0x4b, 1, data)
def WriteHalfWord(Reg,Value):
data = [0 for i in range(3)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def WriteOneWord(Reg,Value):
data = [0 for i in range(5)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
data[3] = (Value>>16) & 0xff
data[4] = (Value>>24) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def SetDefault():
WriteOneWord(CONFIG_VALID, 0x00000000)
class MotorBridgeCape:
def __init__(self):
GPIO.output(Reset, GPIO.HIGH)
time.sleep(1)
...
Do you see the difference? The smbus2 library has been used instead of the Adafruit_I2C or whatever library that came from during the update in '18.
Anyway, try and try until you figure it out. I will check back after a while.
@tomek242 ,
Hello sir...did you figure it out yet? I am checking in to see if you got things working.
Seth
Hello Seth. Im sorry for late like always. BBB its my hobby only so i can write about it only when i had time after work. Anyway unfortunatelly i had no result - im using of course new wersion of I2C library, i had exactly same start of this file:
`from smbus2 import SMBus import time import pathlib
reset pin is P9.23, i.e. gpio1.17
reset_pin = pathlib.Path('/sys/class/gpio/gpio49/direction') reset_pin.write_text('low')
bus = SMBus('/dev/i2c-2')
ReadMode = 0 WriteMode = 1 DeAddr = 0X4B ConfigValid = 0x3a6fb67c DelayTime = 0.00`
also i've checked couple times lines since line 201 and rest, and i have exactly same code:
`def WriteByte(Reg,Value): data = [0 for i in range(2)] data[0] = Reg data[1] = Value bus.write_i2c_block_data(0x4b, 1, data)
def WriteHalfWord(Reg,Value): data = [0 for i in range(3)] data[0] = Reg data[1] = Value & 0xff data[2] = (Value>>8) & 0xff bus.write_i2c_block_data(0x4b, 1, data)
def WriteOneWord(Reg,Value): data = [0 for i in range(5)] data[0] = Reg data[1] = Value & 0xff data[2] = (Value>>8) & 0xff data[3] = (Value>>16) & 0xff data[4] = (Value>>24) & 0xff bus.write_i2c_block_data(0x4b, 1, data)
def SetDefault(): WriteOneWord(CONFIG_VALID, 0x00000000)
class MotorBridgeCape: def init(self): GPIO.output(Reset, GPIO.HIGH) time.sleep(1)`
So everything seems correct but i had exactly same error like before in my posts....
Hello @tomek242 ,
Okay...I will test again. I have the hardware here. I will let you know exactly my set up, source, and board used. Please be patient.
Seth
P.S. Okay: BBGW, Motor Bridge Cape, and the set up:
Linux TACO 4.19.94-ti-r64 #1buster SMP PREEMPT Fri May 21 23:57:28 UTC 2021 armv7l GNU/Linux
BeagleBoard.org Debian Buster IoT Image 2020-04-06
and...
A video to help out...
And here is the video. I just took this video on May 31st at 7:15 2021.
https://youtu.be/IJWXZps9nsw :: The darn bot gets stuck on a tiny floor mat. Ha! ZumoBots!
One other thing! There is a switch on the Cape. You can have it flipped to working
or standby
. This may help too!
Okay and okay,
@tomek242 :
Here:
# * MotorBridge.py
# * This is a library for BBG/BBB motor bridge cape
# * Copyright (c) 2015 seeed technology inc.
# * Author : Jiankai Li
# * Create Time: Nov 2015
# * Change Log : Jan. 2020 by Seth w/ help from #beagle on Freenode
# *
# * The MIT License (MIT)
# *
# * Permission is hereby granted, free of charge, to any person obtaining a copy
# * of this software and associated documentation files (the "Software"), to deal
# * in the Software without restriction, including without limitation the rights
# * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# * copies of the Software, and to permit persons to whom the Software is
# * furnished to do so, subject to the following conditions:
# *
# * The above copyright notice and this permission notice shall be included in
# * all copies or substantial portions of the Software.
# *
# * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# * THE SOFTWARE.
# */
# FileName : MotorBridge.py
# by Jiankai.li
from smbus2 import SMBus
import time
import pathlib
# reset pin is P9.23, i.e. gpio1.17
reset_pin = pathlib.Path('/sys/class/gpio/gpio49/direction')
reset_pin.write_text('low')
bus = SMBus('/dev/i2c-2')
ReadMode = 0
WriteMode = 1
DeAddr = 0X4B
ConfigValid = 0x3a6fb67c
DelayTime = 0.005
# TB_WORKMODE
TB_SHORT_BREAK = 0
TB_CW = 1
TB_CCW = 2
TB_STOP = 3
TB_WORKMODE_NUM = 4
# TB_PORTMODE
TB_DCM = 0
TB_SPM = 1
TB_PORTMODE_NUM = 2
# SVM_PORT
SVM1 = 0
SVM2 = 1
SVM3 = 2
SVM4 = 3
SVM5 = 4
SVM6 = 5
SVM_PORT_NUM = 6
# SVM_STATE
SVM_DISABLE = 0
SVM_ENABLE = 1
SVM_STATE_NUM = 2
# IO_MODE
IO_IN = 0
IO_OUT = 1
IO_MODE_NUM = 2
# IO_PUPD
IO_PU = 0
IO_PD = 1
IO_NP = 2
IO_PUPD_NUM = 3
# IO_PPOD
IO_PP = 0
IO_OD = 1
IO_PPOD_NUM = 2
# IO_STATE
IO_LOW = 0
IO_HIGH = 1
IO_STATE_NUM = 2
# IO_PORT
IO1 = 0
IO2 = 1
IO3 = 2
IO4 = 3
IO5 = 4
IO6 = 5
IO_NUM = 6
# PARAM_REG
CONFIG_VALID = 0
CONFIG_TB_PWM_FREQ = CONFIG_VALID + 4
I2C_ADDRESS = CONFIG_TB_PWM_FREQ + 4
TB_1A_MODE = I2C_ADDRESS + 1
TB_1A_DIR = TB_1A_MODE + 1
TB_1A_DUTY = TB_1A_DIR + 1
TB_1A_SPM_SPEED = TB_1A_DUTY + 2
TB_1A_SPM_STEP = TB_1A_SPM_SPEED + 4
TB_1B_MODE = TB_1A_SPM_STEP + 4
TB_1B_DIR = TB_1B_MODE + 1
TB_1B_DUTY = TB_1B_DIR + 1
TB_1B_SPM_SPEED = TB_1B_DUTY + 2
TB_1B_SPM_STEP = TB_1B_SPM_SPEED + 4
TB_2A_MODE = TB_1B_SPM_STEP + 4
TB_2A_DIR = TB_2A_MODE + 1
TB_2A_DUTY = TB_2A_DIR + 1
TB_2A_SPM_SPEED = TB_2A_DUTY + 2
TB_2A_SPM_STEP = TB_2A_SPM_SPEED + 4
TB_2B_MODE = TB_2A_SPM_STEP + 4
TB_2B_DIR = TB_2B_MODE + 1
TB_2B_DUTY = TB_2B_DIR + 1
TB_2B_SPM_SPEED = TB_2B_DUTY + 2
TB_2B_SPM_STEP = TB_2B_SPM_SPEED + 4
SVM1_STATE = TB_2B_SPM_STEP + 4
SVM1_FREQ = SVM1_STATE + 1
SVM1_ANGLE = SVM1_FREQ + 2
SVM2_STATE = SVM1_ANGLE + 2
SVM2_FREQ = SVM2_STATE + 1
SVM2_ANGLE = SVM2_FREQ + 2
SVM3_STATE = SVM2_ANGLE + 2
SVM3_FREQ = SVM3_STATE + 1
SVM3_ANGLE = SVM3_FREQ + 2
SVM4_STATE = SVM3_ANGLE + 2
SVM4_FREQ = SVM4_STATE + 1
SVM4_ANGLE = SVM4_FREQ + 2
SVM5_STATE = SVM4_ANGLE + 2
SVM5_FREQ = SVM5_STATE + 1
SVM5_ANGLE = SVM5_FREQ + 2
SVM6_STATE = SVM5_ANGLE + 2
SVM6_FREQ = SVM6_STATE + 1
SVM6_ANGLE = SVM6_FREQ + 2
IO1_STATE = SVM6_ANGLE + 2
IO1_MODE = IO1_STATE + 1
IO1_PUPD = IO1_MODE + 1
IO1_PPOD = IO1_PUPD + 1
IO2_STATE = IO1_PPOD + 1
IO2_MODE = IO2_STATE + 1
IO2_PUPD = IO2_MODE + 1
IO2_PPOD = IO2_PUPD + 1
IO3_STATE = IO2_PPOD + 1
IO3_MODE = IO3_STATE + 1
IO3_PUPD = IO3_MODE + 1
IO3_PPOD = IO3_PUPD + 1
IO4_STATE = IO3_PPOD + 1
IO4_MODE = IO4_STATE + 1
IO4_PUPD = IO4_MODE + 1
IO4_PPOD = IO4_PUPD + 1
IO5_STATE = IO4_PPOD + 1
IO5_MODE = IO5_STATE + 1
IO5_PUPD = IO5_MODE + 1
IO5_PPOD = IO5_PUPD + 1
IO6_STATE = IO5_PPOD + 1
IO6_MODE = IO6_STATE + 1
IO6_PUPD = IO6_MODE + 1
IO6_PPOD = IO6_PUPD + 1
PARAM_REG_NUM = IO6_PPOD + 1
def WriteByte(Reg,Value):
data = [0 for i in range(2)]
data[0] = Reg
data[1] = Value
bus.write_i2c_block_data(0x4b, 1, data)
def WriteHalfWord(Reg,Value):
data = [0 for i in range(3)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def WriteOneWord(Reg,Value):
data = [0 for i in range(5)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
data[3] = (Value>>16) & 0xff
data[4] = (Value>>24) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def SetDefault():
WriteOneWord(CONFIG_VALID, 0x00000000)
class MotorBridgeCape:
def __init__(self):
GPIO.output(Reset, GPIO.HIGH)
time.sleep(1)
# init stepper motor A
def StepperMotorAInit(self):
WriteByte(TB_1A_MODE, TB_SPM) #Stepper
time.sleep(DelayTime)
WriteHalfWord(TB_1A_DUTY, 1000) # voltage
time.sleep(DelayTime)
# MoveSteps > 0 CW
# MoveSteps < 0 CCW
# StepDelayTime : delay time for every step. uint us
def StepperMotorAMove(self, MoveSteps, StepDelayTime):
if MoveSteps > 0:
WriteByte(TB_1A_DIR, TB_CW) #CW
else:
WriteByte(TB_1A_DIR, TB_CCW) #CW
MoveSteps = -MoveSteps
time.sleep(DelayTime)
WriteOneWord(TB_1A_SPM_SPEED, StepDelayTime) # unit us
time.sleep(DelayTime)
WriteOneWord(TB_1A_SPM_STEP, MoveSteps)
time.sleep(DelayTime)
# init stepper motor B
def StepperMotorBInit(self):
WriteByte(TB_2A_MODE, TB_SPM) #Stepper
time.sleep(DelayTime)
WriteHalfWord(TB_2A_DUTY, 1000) # voltage
time.sleep(DelayTime)
# MoveSteps > 0 CW
# MoveSteps < 0 CCW
# StepDelayTime : delay time for every step. uint us
def StepperMotorBMove(self, MoveSteps, StepDelayTime):
if MoveSteps > 0:
WriteByte(TB_2A_DIR, TB_CW) #CW
else:
WriteByte(TB_2A_DIR, TB_CCW) #CW
MoveSteps = -MoveSteps
time.sleep(DelayTime)
WriteOneWord(TB_2A_SPM_SPEED, StepDelayTime) # unit us
time.sleep(DelayTime)
WriteOneWord(TB_2A_SPM_STEP, MoveSteps)
time.sleep(DelayTime)
# Init DC Motor
def DCMotorInit(self,MotorName, Frequency):
# Init the DC Frequency
WriteOneWord(CONFIG_TB_PWM_FREQ, Frequency)
time.sleep(DelayTime)
# Set the port as DC Motor
if MotorName == 1 or MotorName == 2:
WriteByte(TB_1A_MODE, TB_DCM)
time.sleep(DelayTime)
WriteByte(TB_1A_DIR, TB_STOP)
time.sleep(DelayTime)
WriteByte(TB_1B_MODE, TB_DCM)
time.sleep(DelayTime)
WriteByte(TB_1B_DIR, TB_STOP)
time.sleep(DelayTime)
if MotorName == 3 or MotorName == 4:
WriteByte(TB_2A_MODE, TB_DCM)
time.sleep(DelayTime)
WriteByte(TB_2A_DIR, TB_STOP)
time.sleep(DelayTime)
WriteByte(TB_2B_MODE, TB_DCM)
time.sleep(DelayTime)
WriteByte(TB_2B_DIR, TB_STOP)
time.sleep(DelayTime)
# Drive the DC Motor
# Direction 1 CW | 2 CCW
# PWNDuty 0 ~ 100
def DCMotorMove(self, MotorName, Direction, PWMDuty):
if MotorName == 1:
WriteByte(TB_1B_DIR, Direction)
time.sleep(DelayTime)
WriteOneWord(TB_1B_DUTY, PWMDuty*10)
time.sleep(DelayTime)
if MotorName == 2:
WriteByte(TB_1A_DIR, Direction)
time.sleep(DelayTime)
WriteOneWord(TB_1A_DUTY, PWMDuty*10)
time.sleep(DelayTime)
if MotorName == 3:
WriteByte(TB_2B_DIR, Direction)
time.sleep(DelayTime)
WriteOneWord(TB_2B_DUTY, PWMDuty*10)
time.sleep(DelayTime)
if MotorName == 4:
WriteByte(TB_2A_DIR, Direction)
time.sleep(DelayTime)
WriteOneWord(TB_2A_DUTY, PWMDuty*10)
time.sleep(DelayTime)
# Stop the DC motor
def DCMotorStop(self, MotorName):
if MotorName == 1:
WriteByte(TB_1B_DIR, TB_STOP)
if MotorName == 2:
WriteByte(TB_1A_DIR, TB_STOP)
if MotorName == 3:
WriteByte(TB_2B_DIR, TB_STOP)
if MotorName == 4:
WriteByte(TB_2A_DIR, TB_STOP)
time.sleep(DelayTime)
# init the Servo
def ServoInit(self, ServoName, Frequency):
if ServoName == 1:
WriteHalfWord(SVM1_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM1_STATE, SVM_ENABLE)
time.sleep(DelayTime)
if ServoName == 2:
WriteHalfWord(SVM2_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM2_STATE, SVM_ENABLE)
time.sleep(DelayTime)
if ServoName == 3:
WriteHalfWord(SVM3_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM3_STATE, SVM_ENABLE)
time.sleep(DelayTime)
if ServoName == 4:
WriteHalfWord(SVM4_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM4_STATE, SVM_ENABLE)
time.sleep(DelayTime)
if ServoName == 5:
WriteHalfWord(SVM5_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM5_STATE, SVM_ENABLE)
time.sleep(DelayTime)
if ServoName == 6:
WriteHalfWord(SVM6_FREQ, Frequency)
time.sleep(DelayTime)
WriteByte(SVM6_STATE, SVM_ENABLE)
time.sleep(DelayTime)
def ServoMoveAngle(self, ServoName, Angle):
if ServoName == 1:
WriteHalfWord(SVM1_ANGLE, Angle)
time.sleep(DelayTime)
if ServoName == 2:
WriteHalfWord(SVM2_ANGLE, Angle)
time.sleep(DelayTime)
if ServoName == 3:
WriteHalfWord(SVM3_ANGLE, Angle)
time.sleep(DelayTime)
if ServoName == 4:
WriteHalfWord(SVM4_ANGLE, Angle)
time.sleep(DelayTime)
if ServoName == 5:
WriteHalfWord(SVM5_ANGLE, Angle)
time.sleep(DelayTime)
if ServoName == 6:
WriteHalfWord(SVM6_ANGLE, Angle)
time.sleep(DelayTime)
#def myloop():
#time.sleep(1)
#motor.StepperMotorBMove(-1000,1000) # 20 steppers 1000us every step
#time.sleep(1)
#motor.StepperMotorBMove(1000,1000) # 20 steppers 1000us every step
if __name__=="__main__":
print("Hello!")
#motor = MotorBridgeCape()
#motor.StepperMotorBInit()
#motor.StepperMotorBMove(1000,1000) # 20 steppers 1000us every step
#myloop()
...
That is the MotorBridge.py file or call it whatever, e.g. as long as you call the MotorBridge or self-named file in the next file to handle your Motor Bridge Cape and motors or whatever you are using it for currently.
And...here is a simple test to see motor movement! This will make some DC Motors (12v) move around and back and forth and change direction:
import MotorBridge
import time
MotorName = 1
MotorName = 2
ClockWise = 1
CounterClockWise = 2
PwmDuty = 90
Frequency = 1000
if __name__=="__main__":
motor = MotorBridge.MotorBridgeCape()
motor.DCMotorInit(1, 1000)
motor.DCMotorInit(2, 1000)
for i in range(1, 51):
motor.DCMotorMove(1, 1, 90)
motor.DCMotorMove(2, 1, 90)
#Making a U-Shape in the lawn
#Left motor on chassis goes while the right motor ccw
for i in range(1, 3):
motor.DCMotorMove(1, 1, 90)
motor.DCMotorMove(2, 2, 90)
#All Flanks...Straight Ahead!
for i in range(1, 51):
motor.DCMotorMove(1, 1, 90)
motor.DCMotorMove(2, 1, 90)
#Make another U-Turn but this time, motors go in the opposite direction!
for i in range(1, 3):
motor.DCMotorMove(1, 2, 90)
motor.DCMotorMove(2, 1, 90)
#Straight Ahead
for i in range(1, 51):
motor.DCMotorMove(1, 1, 90)
motor.DCMotorMove(2, 1, 90)
print("Testing, Testing\n, 1\n, 2\n, 3\n")
Then, after those files are in your cloned git repo. from https://github.com/silver2row/bbg and after changing line 302 to what this specific repo. states for smbus2, add the BB-UART2-00A0.dtbo in your /boot/uEnv.txt file under the uboot overlays section.
Seth
P.S. I think this covers it. Please let me know what you think thus far. I am not sure what I could be missing since mine works.
@tomek242 ,
Oh and...
If you have time, please use a venv for this specific instance if you are having issues. So, sudo apt install python3-venv
and then type this command for your venv after cloning the repo. from above, python3 -m venv bbg
.
Seth
P.S. This may help you exclude specific issues so we can debug a bit better. Also, while in the venv called bbg, use pip3 freeze > requirements.txt
. If that requirements.txt file is not already available, make it with touch requirements.txt.
Check underneath the Motor Bridge Cape to check your DIP switches. They can be altered to handle different I2C addresses!