LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 03-01-2020, 11:38 AM   #1
010190
LQ Newbie
 
Registered: Mar 2020
Posts: 3

Rep: Reputation: Disabled
Nokia DAB Radio on Linux, an interesting challenge


Hi to all!

Here's an interesting challenge that I've been struggling with for a few years now:

Nokia made a small DAB+ Radio USB dongle around 2011.
You would connect it to you Nokia.
Then connect your 3.5mm earphones to the dongle.
(The headphones double as the antenna just as they would for an FM radio)
You would listen to DAB+ Radio via an app on your Nokia.

I have connected one to a Linux computer and Android phone.

The first signs were very promising: sound would play trough the dongle/headphones.
The buttons on the dongle would also function: play, pause, mute, etc. All this with no effort whatsoever!
It would even work on Windows.

However, I could not get the DAB radio to work.
When running "lsusb -v" it is actually detected as "Radio Receiver".

I want to determine the actual DAB chip inside, but I don't know how to do it.
Opening the dongle is easy, but the chip/s are behind a metal shield.
I don't have a hot air station so I can't safely remove the shield.

The benefits of getting it work would be many:
- you get a radio on your phone. (radio coverage is more wide than data coverage.)
- you get a 3.5mm jack for your phones
- you get 7 buttons on the dongle that you could re-assign

This would work on newer USB type-c. All you would have to do is replace the dongle's mini-USB cable with a type-c one.

So where do I go from here? How can I determine what chip is inside?

There are DAB for Android solutions out there, but those are so clunky...

I'm running Manjaro 5.5.6 . I have access to other Linux computers.

Robert
 
Old 03-02-2020, 01:53 AM   #2
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
Can you give some specs on the device please?
 
Old 03-02-2020, 01:59 AM   #3
JZL240I-U
Senior Member
 
Registered: Apr 2003
Location: Germany
Distribution: openSuSE Tumbleweed-KDE, Mint 21, MX-21, Manjaro
Posts: 4,629

Rep: Reputation: Disabled
The output of "lsusb -v" should also contain a pair of numbers separated by ":". One of them encodes the device type (see "man lsusb"). Maybe that can help.

Last edited by JZL240I-U; 03-05-2020 at 01:51 AM.
 
Old 03-04-2020, 05:30 AM   #4
010190
LQ Newbie
 
Registered: Mar 2020
Posts: 3

Original Poster
Rep: Reputation: Disabled
The dongle's commercial model is CU-17A.
Running lsusb correctly identifies it as
"Bus 002 Device 013: ID 0421:0754 Nokia Mobile Phones CU-17A"

Running lsusb -v reveals that it is a composite USB device with the buttons assigned as a HID device.
It draws a maximum of 114mA of current.

I also have the *.sis application from Nokia that was used to access the device.
I don't know how to unpack it and search in it for the answer.
Could that help any of you?

What other info could I post?
Below is the full branch for the device after running "lsusb -v":

Bus 002 Device 013: ID 0421:0754 Nokia Mobile Phones CU-17A
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 16
idVendor 0x0421 Nokia Mobile Phones
idProduct 0x0754
bcdDevice 0.01
iManufacturer 1 Nokia
iProduct 2 CU-17A
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0130
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 114mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x007f
bInCollection 2
baInterfaceNr(0) 1
baInterfaceNr(1) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0203 Personal Microphone
bAssocTerminal 0
bNrChannels 1
wChannelConfig 0x0000
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 9
wTerminalType 0x0710 Radio Receiver
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 6
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 5
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0302 Headphones
bAssocTerminal 0
bSourceID 2
iTerminal 0
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 8
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0002
Volume Control
bmaControls(2) 0x0002
Volume Control
iFeature 0
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 5
bSourceID 4
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0002
Volume Control
iFeature 0
AudioControl Interface Descriptor:
bLength 15
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 8
bNrInPins 3
baSourceID(0) 1
baSourceID(1) 10
baSourceID(2) 7
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
bmControls(0) 0x00
iMixer 0
Warning: Junk at end of descriptor (1 bytes):
00
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 7
bSourceID 5
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0002
Volume Control
iFeature 0
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 9
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0002
Volume Control
bmaControls(2) 0x0002
Volume Control
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 6
bDelay 0 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 1
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0060 1x 96 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 104
bInterfaceProtocol 255
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 1096
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 32
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
 
Old 03-07-2020, 02:10 AM   #5
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
Quote:
Originally Posted by 010190 View Post
The dongle's commercial model is CU-17A.
Running lsusb correctly identifies it as
"Bus 002 Device 013: ID 0421:0754 Nokia Mobile Phones CU-17A"
This?
The buttons just work, much in the same way as the media buttons on your keyboard?
And there's an actual FM radio inside it which you would like to use via the same headset connected to it? So, in layman terms, the radio does not enter the computer at all, it goes from the dongle straight into the headset, no?
My next step would be to monitor the whole thing with
Code:
dmesg -w
and see what drivers are assigned to it (if any), and how it reacts to attempts to start the radio.


BTW, Nokia phones were true Linux phones back then, so there's a good chance of advanced compatibility.
 
Old 03-07-2020, 06:24 PM   #6
010190
LQ Newbie
 
Registered: Mar 2020
Posts: 3

Original Poster
Rep: Reputation: Disabled
Yes, that's the one.
Sometimes it pops up on eBay for £5 or so.

Yes, the buttons work like the media buttons on the keyboard, even in Windows.
1) The radio inside is a DAB+ radio. It is detected by "lsusb -v" as
Code:
wTerminalType      0x0710 Radio Receiver
2) Originally, you would need a piece of software to make use of the DAB radio. (e.g. scan for frequencies, change stations)
Points 1) and 2) lend me to believe that the radio would pass through the computer/phone.
That piece of software came as a .sis file, which I do have, but don't know how to open it.
This .sis file can only be installed on Symbian 3 which is a closed source OS, no connection to Linux.

When plugging in the dongle, dmesg -w reveals:

Code:
[75228.622546] usb 2-9: new full-speed USB device number 15 using xhci_hcd
[75228.764456] usb 2-9: New USB device found, idVendor=0421, idProduct=0754, bcdDevice= 0.01
[75228.764459] usb 2-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[75228.764460] usb 2-9: Product: CU-17A
[75228.764462] usb 2-9: Manufacturer: Nokia
[75228.788386] usb 2-9: 1:1: cannot get freq at ep 0x5
[75228.847276] usb 2-9: 2:1: cannot get freq at ep 0x86
[75228.872556] input: Nokia CU-17A Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9:1.4/0003:0421:0754.0009/input/input26
[75228.929508] hid-generic 0003:0421:0754.0009: input,hiddev1,hidraw3: USB HID v1.11 Device [Nokia CU-17A] on usb-0000:00:14.0-9/input4
[75229.655229] usb 2-9: 1:1: cannot get freq at ep 0x5
[75334.206226] usb 2-9: USB disconnect, device number 15
Any other ideas? :-|
 
Old 03-09-2020, 01:14 AM   #7
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
So it's a USB soundcard, media buttons and radio hardware all at the same time?
How would you normally run a radio under Linux?

I can't really help, but here are some thoughts:
  • a web search for “+linux dab radio receiver”
  • obviously you need some sort of software for it
  • is this one of the big manufacturers under the hood? you know, realtek etc.
  • Nokia phones used to run real GNU/Linux - trawl these forums, maybe you can find some (outdated) software/driver...
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] DVB-T driver for dongle RTL2832U + R820T + DAB xunil11linux Linux - Hardware 10 11-03-2014 11:31 AM
What is 'FM digital radio, not DAB' and radio card setup? lugoteehalt Linux - Hardware 3 08-22-2008 09:36 AM
Modular Technology DAB Radio PCI Card themeone Linux - Hardware 5 04-14-2008 01:13 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 05:02 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration