On Sunday 10 December 2006 18:14, Iain Hibbert wrote: > On Sun, 10 Dec 2006, Juan RP wrote: > > On Sunday 10 December 2006 16:38, Juan RP wrote: > > > accept_sco: blocksize=0 info.blocksize=800 mtu=0 > > > > The problem is mtu that is 0, blocksize is fine. > > Hm, in that case I should add a check there to at least fail gracefully.. Ah, so the problem was that I was using hw.ubt0.config=0! > > Anyway hardcoding the mtu value (127) does not seem to work > > and I can hear only distortions. > > How did you hardcode that value? 127 is likely too large - did you read > the CAVEAT section from ubt(4) and enable the USB isochronous data for > ubt? That should explain somewhat how to calculate a proper value (its > suboptimal that we should have to do that, but I haven't worked out the > real problem in the USB stack as yet) I thought mtu was referring to net.bluetooth.rfcomm.mtu_default. > The MTU retrieved from the socket will be the "sco_mtu" value as reported > by btconfig - if this is still zero, then that is what the device is > reporting and I'm not sure if setting it to a higher value will work > properly. I understand that some older Belkin USB dongles (Broadcom 2035) > had trouble with SCO data and report the value in this way. I understand... I changed hw.ubt0.config to 1 and I got: [juan@nocturno][~]> sysctl -a|grep -E '(ubt|bluetooth)' net.bluetooth.hci.sendspace = 259 net.bluetooth.hci.recvspace = 4096 net.bluetooth.hci.acl_expiry = 10 net.bluetooth.hci.memo_expiry = 600 net.bluetooth.hci.eventq_max = 20 net.bluetooth.hci.aclrxq_max = 50 net.bluetooth.hci.scorxq_max = 50 net.bluetooth.l2cap.sendspace = 4096 net.bluetooth.l2cap.recvspace = 4096 net.bluetooth.l2cap.rtx = 30 net.bluetooth.l2cap.ertx = 180 net.bluetooth.rfcomm.sendspace = 4096 net.bluetooth.rfcomm.recvspace = 4096 net.bluetooth.rfcomm.mtu_default = 127 net.bluetooth.rfcomm.ack_timeout = 20 net.bluetooth.rfcomm.mcc_timeout = 20 net.bluetooth.sco.sendspace = 4096 net.bluetooth.sco.recvspace = 4096 hw.ubt0.config = 1 hw.ubt0.alt_config = 6 hw.ubt0.sco_rxsize = 9 hw.ubt0.sco_txsize = 9 [juan@nocturno][~]> I start /etc/rc.d/btconfig: [juan@nocturno][~]> sudo /etc/rc.d/btconfig start Configuring Bluetooth controllers: ubt0. [juan@nocturno][~]> But can you explain with details how to calculate the SCO packet size? -- http://plog.xtrarom.org/ Juan RP's blog - NetBSD/pkgsrc news in Spanish |