diff --git a/blefs/fs.go b/blefs/fs.go index 6d9d06f..6f2ade9 100644 --- a/blefs/fs.go +++ b/blefs/fs.go @@ -199,7 +199,13 @@ func decode(data []byte, vals ...interface{}) error { // to send in a packet. Subtracting 20 ensures that the MTU // is never exceeded. func (blefs *FS) maxData() uint16 { - return blefs.transferChar.Properties.MTU - 20 + mtu := blefs.transferChar.Properties.MTU + // If MTU is zero, the current version of BlueZ likely + // doesn't support the MTU property, so assume 256. + if mtu == 0 { + mtu = 256 + } + return mtu - 20 } // padding returns a slice of len amount of 0x00.