Третий аргумент fcntl.ioctl
, как указано в документации здесь , должен быть либо 1024-байтовой строкой (не только 256), либо, что еще лучше, возможно даже более длинным записываемым буфером - базовый объект может быть array.array байтов. К сожалению, вам нужно заранее знать, сколько места потребуется для результата, но вы можете осторожно использовать его с несколькими КБ (этот ioctl выглядит как код «get device id», но я не уверен, какова максимальная длина результата может быть).