Date: Tue, 25 Jun 2002 07:46:45 -0400 (EDT) From: Bryan Liesner <bleez@bellatlantic.net> To: freebsd-stable@freebsd.org Subject: D-Link DSB-R100 and the ufm driver Message-ID: <20020625073327.D708-200000@gravy.kishka.net>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1713206580-1025005605=:708 Content-Type: TEXT/PLAIN; charset=US-ASCII I just finished compiling ufm support into the kernel, and grabbed NetBSD's dsbr100 port to control my DSB-R100 device. With a little tweaking I got the port to compile, but when I run it I get inappropriate ioctl errors for USB_GET_DEVICEINFO and USB_DO_REQUEST. I think the device node may be wrong but here's what I have: crw-r--r-- 1 root operator 200, 0 Jun 25 00:55 /dev/ufm0 dmesg shows: ufm0: GemTek Corp USB FM Radio, rev 1.00/4.10, addr 2 I'm definitely not a USB guru, and need a bit of help getting this thing to work. The source is small enough, so it's attached. Thanks! ========================================================== = Bryan D. Liesner LeezSoft Communications, Inc. = = A subsidiary of LeezSoft Inc. = = bleez@bellatlantic.net Home of the Gipper = ========================================================== --0-1713206580-1025005605=:708 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="dsbr100.c" Content-Transfer-Encoding: BASE64 Content-ID: <20020625074645.T708@gravy.kishka.net> Content-Description: Content-Disposition: attachment; filename="dsbr100.c" LyoNCiAqIENvcHlyaWdodCAoYykgMjAwMCBMZW5uYXJ0IEF1Z3VzdHNzb24g PGF1Z3VzdHNzQG5ldGJzZC5vcmc+DQogKiBBbGwgcmlnaHRzIHJlc2VydmVk Lg0KICoNCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KICogbW9kaWZpY2F0 aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zDQogKiBhcmUgbWV0Og0KICogMS4gUmVkaXN0cmlidXRp b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5 cmlnaHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqIDIuIFJlZGlzdHJp YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv dmUgY29weXJpZ2h0DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQog KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICoNCiAqIFRISVMgU09G VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVU T1JTIGBgQVMgSVMnJyBBTkQNCiAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI RQ0KICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCiAqIEFSRSBE SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBD T05UUklCVVRPUlMgQkUgTElBQkxFDQogKiBGT1IgQU5ZIERJUkVDVCwgSU5E SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O U0VRVUVOVElBTA0KICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMNCiAq IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KICogSE9XRVZFUiBDQVVTRUQg QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP TlRSQUNULCBTVFJJQ1QNCiAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX QVkNCiAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCiAqIFNVQ0ggREFN QUdFLg0KICovDQoNCi8qIA0KICogQSBkcml2ZXIgZm9yIHRoZSBELUxpbmsg RFNCLVIxMDAgVVNCIHJhZGlvLiAgVGhlIHJhZGlvIHBsdWdzDQogKiBpbnRv IGJvdGggdGhlIFVTQiBhbmQgYW4gYW5hbG9nIGF1ZGlvIGlucHV0LiAgVGhl IFVTQiBwYXJ0DQogKiBvbmx5IGRlYWxzIHdpdGggaW5pdGlhbGlzYXRpb24g YW5kIGZyZXF1ZW5jeSBzZXR0aW5nLCB0aGUNCiAqIGF1ZGlvIGRhdGEgaGFz IHRvIGJlIGhhbmRsZWQgYnkgYSBzb3VuZCBkcml2ZXIuDQogKi8NCg0KI2lu Y2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVk ZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8ZmNudGwuaD4NCiNpbmNsdWRl IDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxl cnIuaD4NCiNpbmNsdWRlIDxkZXYvdXNiL3VzYi5oPg0KI2luY2x1ZGUgPHN5 cy9pb2N0bC5oPg0KDQojZGVmaW5lIFZFTkRPUiAweDA0YjQNCiNkZWZpbmUg UFJPRFVDVCAweDEwMDINCg0KaW50IGRlYnVnID0gMDsNCmludCB2ZXJib3Nl ID0gMDsNCmludCBhdXRvdHVuZSA9IDE7DQoNCmludCBkZWx0YSA9IDUwOw0K aW50IG1pbnN0ZXAgPSAxMDsNCg0KaW50IHNsZWVwdGltZSA9IDMwMDAwMDsN Cg0KI2RlZmluZSBERUZBVUxUX0RFViAiL2Rldi91Zm0wIg0KDQppbnQNCnJh ZGlvX3JlcShpbnQgZiwgaW50IHVyZXEsIGludCB2YWx1ZSwgaW50IGluZGV4 KQ0Kew0KCXN0cnVjdCB1c2JfY3RsX3JlcXVlc3QgcmVxOw0KCXVfY2hhciBk YXRhOw0KCWludCByOw0KDQoJcmVxLnVjcl9yZXF1ZXN0LmJtUmVxdWVzdFR5 cGUgPSBVVF9SRUFEX1ZFTkRPUl9ERVZJQ0U7DQoJcmVxLnVjcl9yZXF1ZXN0 LmJSZXF1ZXN0ID0gdXJlcTsNCglVU0VUVyhyZXEudWNyX3JlcXVlc3Qud1Zh bHVlLCB2YWx1ZSk7DQoJVVNFVFcocmVxLnVjcl9yZXF1ZXN0LndJbmRleCwg aW5kZXgpOw0KCVVTRVRXKHJlcS51Y3JfcmVxdWVzdC53TGVuZ3RoLCAxKTsN CglyZXEudWNyX2RhdGEgPSAmZGF0YTsNCglyZXEudWNyX2ZsYWdzID0gMDsg Ly9VU0JEX1NIT1JUX1hGRVJfT0s7DQoJciA9IGlvY3RsKGYsIFVTQl9ET19S RVFVRVNULCAmcmVxKTsNCglpZiAociA8IDApDQoJCWVycigxLCAiVVNCX0RP X1JFUVVFU1QiKTsNCglpZiAoZGVidWcgPiAxKQ0KCQlwcmludGYoIiUjeCAl I3ggJSN4ICUjeCBsZW49JWRcbiIsIHVyZXEsIFVUX1JFQURfVkVORE9SX0RF VklDRSwNCgkJICAgICAgIHZhbHVlLCBpbmRleCwgcmVxLnVjcl9hY3RsZW4p Ow0KCXJldHVybiAhKGRhdGEgJiAxKTsNCn0NCg0Kdm9pZA0KcmFkaW9fc3Rh cnQoaW50IGYpDQp7DQoJcmFkaW9fcmVxKGYsIDB4MDAsIDB4MDAwMCwgMHgw MGM3KTsNCglyYWRpb19yZXEoZiwgMHgwMiwgMHgwMDAxLCAweDAwMDApOw0K fQ0KDQp2b2lkDQpyYWRpb19zdG9wKGludCBmKQ0Kew0KCXJhZGlvX3JlcShm LCAweDAwLCAweDAwMTYsIDB4MDAxYyk7DQoJcmFkaW9fcmVxKGYsIDB4MDIs IDB4MDAwMCwgMHgwMDAwKTsNCn0NCg0Kdm9pZA0KcmFkaW9fc2V0ZnJlcShp bnQgZiwgaW50IGZyZXEpDQp7DQoJaWYgKGRlYnVnID4gMSkgcHJpbnRmKCJz ZXRmcmVxPSVkXG4iLCBmcmVxKTsNCglmcmVxID0gZnJlcSAqIDgwIC8gMTAw MCArIDg1NjsNCglpZiAoZGVidWcgPiAyKSBwcmludGYoImZyZXEgPSAlI3hc biIsIGZyZXEpOw0KCXJhZGlvX3JlcShmLCAweDAxLCAoZnJlcSA+PiA4KSAm IDB4ZmYsIGZyZXEgJiAweGZmKTsNCglyYWRpb19yZXEoZiwgMHgwMCwgMHgw MDk2LCAweDAwYjcpOw0KCXJhZGlvX3JlcShmLCAweDAwLCAweDAwMDAsIDB4 MDAyNCk7DQp9DQoNCmludA0KcmFkaW9fc3RhdHVzKGludCBmKQ0Kew0KCXJl dHVybiByYWRpb19yZXEoZiwgMHgwMCwgMHgwMDAwLCAweDAwMjQpOw0KfQ0K DQp2b2lkDQp1c2FnZSh2b2lkKQ0Kew0KCWV4dGVybiBjaGFyICpfX3Byb2du YW1lOw0KDQoJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgWy1mIGRldmlj ZV0gWy12XSBzdGFydFxuIiwgX19wcm9nbmFtZSk7DQoJZnByaW50ZihzdGRl cnIsICIgICAgICAgJXMgWy1mIGRldmljZV0gWy12XSBzdG9wXG4iLCBfX3By b2duYW1lKTsNCglmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAlcyBbLWYgZGV2 aWNlXSBbLXZdIHN0YXR1c1xuIiwgX19wcm9nbmFtZSk7DQoJZnByaW50Zihz dGRlcnIsICIgICAgICAgJXMgWy1mIGRldmljZV0gWy12XSBbLW5dIDxmcmVx PlxuIiwgX19wcm9nbmFtZSk7DQoJZnByaW50ZihzdGRlcnIsICIgICAgICAg JXMgWy1mIGRldmljZV0gWy12XSBbLW5dIHNjYW4gPGxvPiA8aGk+XG4iLCBf X3Byb2duYW1lKTsNCglmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAlcyBbLWYg ZGV2aWNlXSBbLXZdIFstbl0gc2VhcmNoIDxsbz4gPGhpPlxuIiwgX19wcm9n bmFtZSk7DQoJZXhpdCgxKTsNCn0NCg0Kdm9pZA0Kc2V0ZnJlcShpbnQgZiwg aW50IGZyKQ0Kew0KCWludCBzLCBzbG8sIHNoaTsNCglpbnQgbmFjYywgYWNj Ow0KDQoJaWYgKCFhdXRvdHVuZSkgew0KCQlyYWRpb19zZXRmcmVxKGYsIGZy KTsNCgkJdXNsZWVwKHNsZWVwdGltZSk7DQoJCXJldHVybjsNCgl9DQoNCglz bG8gPSBmciAtIDQgKiBkZWx0YSAvIDI7DQoJc2hpID0gZnIgKyA0ICogZGVs dGEgLyAyOw0KCWFjYyA9IGZyOw0KCW5hY2MgPSAxOw0KCWZvciAocyA9IHNs bzsgcyA8PSBzaGk7IHMgKz0gbWluc3RlcCkgew0KCQlyYWRpb19zZXRmcmVx KGYsIHMpOw0KCQl1c2xlZXAoc2xlZXB0aW1lKTsNCgkJaWYoZGVidWcpDQoJ CQlwcmludGYoInRyeSBmcmVxPSVkIHN0ZXJlbz0lZFxuIiwgcywgcmFkaW9f c3RhdHVzKGYpKTsNCgkJaWYgKHJhZGlvX3N0YXR1cyhmKSkgew0KCQkJYWNj ICs9IHM7DQoJCQluYWNjKys7DQoJCX0NCgl9DQoJYWNjIC89IG5hY2M7DQoJ aWYgKGRlYnVnKQ0KCQlwcmludGYoImZyZXE9JWRcbiIsIGFjYyk7DQoJcmFk aW9fc2V0ZnJlcShmLCBhY2MpOw0KCXVzbGVlcChzbGVlcHRpbWUpOw0KfQ0K DQp2b2lkDQpzY2FuKGludCBmLCBpbnQgbG8sIGludCBoaSwgaW50IGNvbnQp DQp7DQoJaW50IGZyOw0KDQoJZm9yICg7Oykgew0KCQlmb3IgKGZyID0gbG87 IGZyIDwgaGk7IGZyICs9IGRlbHRhKSB7DQoJCQlpZiAodmVyYm9zZSkNCgkJ CQlwcmludGYoIlxyJS4yZiIsIGZyIC8gMTAwMC4wKSwgZmZsdXNoKHN0ZG91 dCk7DQoJCQlyYWRpb19zZXRmcmVxKGYsIGZyKTsNCgkJCXVzbGVlcChzbGVl cHRpbWUpOw0KCQkJaWYgKHJhZGlvX3N0YXR1cyhmKSkgew0KCQkJCXNldGZy ZXEoZiwgZnIgKyBkZWx0YSk7DQoJCQkJaWYgKHZlcmJvc2UpDQoJCQkJCXBy aW50ZigiXG4iKTsNCgkJCQllbHNlDQoJCQkJCXByaW50ZigiJS4yZlxuIiwg ZnIgLyAxMDAwLjApOw0KCQkJCWlmICghY29udCkNCgkJCQkJcmV0dXJuOw0K CQkJCXNsZWVwKDUpOw0KCQkJfQ0KCQkJZnIgKz0gMyAqIGRlbHRhOw0KCQl9 DQoJfQ0KfQ0KDQppbnQNCm1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K ew0KCWNoYXIgKmRldiA9IDA7DQoJY2hhciBkZXZidWZbMTAyNF07DQoJaW50 IGYsIGNoOw0KCWRvdWJsZSBmcmVxLCBsbywgaGk7DQoJc3RydWN0IHVzYl9k ZXZpY2VfaW5mbyBkaTsNCg0KCXdoaWxlICgoY2ggPSBnZXRvcHQoYXJnYywg YXJndiwgImRmOm52IikpICE9IC0xKSB7DQoJCXN3aXRjaChjaCkgew0KCQlj YXNlICdkJzoNCgkJCWRlYnVnKys7DQoJCQlicmVhazsNCgkJY2FzZSAnZic6 DQoJCQlkZXYgPSBvcHRhcmc7DQoJCQlicmVhazsNCgkJY2FzZSAnbic6DQoJ CQlhdXRvdHVuZSA9IDA7DQoJCQlicmVhazsNCgkJY2FzZSAndic6DQoJCQl2 ZXJib3NlKys7DQoJCQlicmVhazsNCgkJY2FzZSAnPyc6DQoJCWRlZmF1bHQ6 DQoJCQl1c2FnZSgpOw0KCQl9DQoJfQ0KCWFyZ2MgLT0gb3B0aW5kOw0KCWFy Z3YgKz0gb3B0aW5kOw0KCWlmICghZGV2KQ0KCQlkZXYgPSBERUZBVUxUX0RF VjsNCg0KCWYgPSBvcGVuKGRldiwgT19SRFdSKTsNCglpZiAoZiA8IDApIHsN CgkJaWYgKGRldlswXSAhPSAnLycpIHsNCgkJCXNwcmludGYoZGV2YnVmLCAi L2Rldi8lcyIsIGRldik7DQoJCQlmID0gb3BlbihkZXZidWYsIE9fUkRXUik7 DQoJCX0gZWxzZQ0KCQkJc3RyY3B5KGRldmJ1ZiwgZGV2KTsNCgkJaWYgKGYg PCAwKSB7DQoJCQlpZiAoIXN0cmNocihkZXZidWYsICcuJykpIHsNCgkJCQlz dHJjYXQoZGV2YnVmLCAiLjAwIik7DQoJCQkJZiA9IG9wZW4oZGV2YnVmLCBP X1JEV1IpOw0KCQkJfQ0KCQl9DQoJfQ0KCWlmIChmIDwgMCkNCgkJZXJyKDEs ICIlcyIsIGRldik7DQoNCg0KCWlmIChpb2N0bChmLCBVU0JfR0VUX0RFVklD RUlORk8sICZkaSkgIT0gMCkNCgkJZXJyKDEsICJVU0JfR0VUX0RFVklDRUlO Rk8iKTsNCglpZiAodmVyYm9zZSA+IDEpIHsNCgkJcHJpbnRmKCJQcm9kdWN0 OiAlc1xuIiwgZGkudWRpX3Byb2R1Y3QpOw0KCQlwcmludGYoIlZlbmRvcjog ICVzXG4iLCBkaS51ZGlfdmVuZG9yKTsNCgl9DQoJaWYgKGRpLnVkaV92ZW5k b3JObyAhPSBWRU5ET1IgfHwgZGkudWRpX3Byb2R1Y3RObyAhPSBQUk9EVUNU KQ0KCQllcnJ4KDEsICJUaGUgZGV2aWNlIGlzIG5vdCBhIERTQi1SMTAwIHJh ZGlvXG4iKTsNCg0KCWlmIChhcmdjID09IDEgJiYgc3RyY21wKGFyZ3ZbMF0s ICJzdGFydCIpID09IDApDQoJCXJhZGlvX3N0YXJ0KGYpOw0KCWVsc2UgaWYg KGFyZ2MgPT0gMSAmJiBzdHJjbXAoYXJndlswXSwgInN0b3AiKSA9PSAwKQ0K CQlyYWRpb19zdG9wKGYpOw0KCWVsc2UgaWYgKGFyZ2MgPT0gMSAmJiBzc2Nh bmYoYXJndlswXSwgIiVsZiIsICZmcmVxKSA9PSAxKSB7DQoJCXNldGZyZXEo ZiwgKGludCkoZnJlcSAqIDEwMDApKTsNCgkJaWYodmVyYm9zZSkNCgkJCXBy aW50ZigiJXNcbiIsIHJhZGlvX3N0YXR1cyhmKSA/ICJzdGVyZW8iIDogIm1v bm8iKTsNCgl9IGVsc2UgaWYgKGFyZ2MgPT0gMyAmJiBzdHJjbXAoYXJndlsw XSwgInNjYW4iKSA9PSAwICYmDQoJCSBzc2NhbmYoYXJndlsxXSwgIiVsZiIs ICZsbykgPT0gMSAmJg0KCQkgc3NjYW5mKGFyZ3ZbMl0sICIlbGYiLCAmaGkp ID09IDEpIHsNCgkJc2NhbihmLCBsbyAqIDEwMDAsIGhpICogMTAwMCwgMSk7 DQoJfSBlbHNlIGlmIChhcmdjID09IDMgJiYgc3RyY21wKGFyZ3ZbMF0sICJz ZWFyY2giKSA9PSAwICYmDQoJCSBzc2NhbmYoYXJndlsxXSwgIiVsZiIsICZs bykgPT0gMSAmJg0KCQkgc3NjYW5mKGFyZ3ZbMl0sICIlbGYiLCAmaGkpID09 IDEpIHsNCgkJc2NhbihmLCBsbyAqIDEwMDAsIGhpICogMTAwMCwgMCk7DQoJ fSBlbHNlIGlmIChhcmdjID09IDEgJiYgc3RyY21wKGFyZ3ZbMF0sICJzdGF0 dXMiKSA9PSAwKQ0KCQlwcmludGYoIiVzXG4iLCByYWRpb19zdGF0dXMoZikg PyAic3RlcmVvIiA6ICJtb25vIik7DQoJZWxzZQ0KCQl1c2FnZSgpOw0KDQoJ Y2xvc2UoZik7DQoNCglleGl0KDApOw0KfQ0K --0-1713206580-1025005605=:708-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020625073327.D708-200000>