FM Radio - Another approach - Captivate Android Development

In my Captivate I noticed a kernel module with name Si4709_driver.ko
Si4709 is a FM radio receiver www .silabs. com /products/audiovideo/fmreceivers/Pages/Si470809.aspx (sorry, I can't post URL)
By default it is not loaded, but when I tried to load it, it did. Now we need to know what API is used for user mode programs.
It would also help if those who put i9000 ROM into Captivate (but have stock kernel) tried load module and then run FM radio app.
# cd /lib
# ls
modules
# cd modules
# ls
dpram.ko
rfs_glue.ko
j4fs.ko
multipdp.ko
param.ko
vibrator.ko
Si4709_driver.ko
dhd.ko
rfs_fat.ko
stgloc
s3c_bc.ko
pvrsrvkm.ko
scsi_wait_scan.ko
fsr.ko
drop_caches.ko
fsr_stl.ko
s3c_lcd.ko
# insmod /lib/modules/Si4709_driver.ko
# lsmod
Si4709_driver 15744 0 - Live 0xbf195000
vibrator 6744 2 - Live 0xbf191000
s3c_bc 2880 0 - Live 0xbf18b000
s3c_lcd 5060 0 - Live 0xbf184000
pvrsrvkm 205996 48 s3c_bc,s3c_lcd, Live 0xbf14c000
multipdp 30968 1 - Live 0xbf13f000
dpram 194152 10 multipdp, Live 0xbf10a000
param 10132 0 - Live 0xbf105000 (P)
j4fs 65604 1 - Live 0xbf0ef000 (P)
rfs_fat 235456 5 - Live 0xbf0b0000 (P)
rfs_glue 74328 1 rfs_fat, Live 0xbf098000 (P)
fsr_stl 248012 6 j4fs, Live 0xbf056000 (P)
fsr 328428 3 dpram,fsr_stl, Live 0xbf000000 (P)
#

Nice find. This may turn into something.

With the module loaded the FM radio app no longer has the error 'Unable to turn on FM radio." However, the FM app has no sound and cannot seek for channels.

dalingrin said:
With the module loaded the FM radio app no longer has the error 'Unable to turn on FM radio." However, the FM app has no sound and cannot seek for channels.
Click to expand...
Click to collapse
Looks like the hardware may be there after all, you were using the headphones right? If so then maybe the antenna isn't wired to the headset port.

Another note: Its is possible that hardware is not there. I found another tool that seems to test FM Radio
# ./si4709_test -h
How to control FM Radio (Si4709) .........
================================================================
Usage: ./si4709_test [controls] [value]
-p power, up|down si4709 power control
-s search, up|down|auto seek channel
-rstate, show si4709 radio state
-rssi, show si4709 rssi status
-r, on|off RDS/RBDS Enable/Disable
-rds, show Show RDS/RBDS data
e.g) si4709_test -p (up/down)
================================================================
# ./si4709_test -p up
# ./si4709_test -rstate
[FM RADIO] Radio State
================================================================
Power State = 0
Seek State = 0
================================================================
I tried to do the same on my wife's I9000 and it reported "Power State = 1"
So we may be out of luck with Captivate.

Not judging anyone but why worry about an FM radio when we have apps that do it all, about 4 of my local stations are on iheartradio and another 20 are from immediate areas around me.
When I used FM on my Nokia it was a battery drain more so than 3G.

I tied to run test with headphones connected. Attempt to power up device results in reboot.
Below is kernel log related to loading driver and connecting headphones:
<7>[ 197.626426] device: 'fmradio': device_add
<7>[ 197.628218] PM: Adding info for No Bus:fmradio
<7>[ 197.635228] bus: 'i2c': add driver Si4709_driver
<7>[ 197.665086] i2c-adapter i2c-8: NAK from device addr 0x10 msg #0
<6>[ 204.231953] [ JACK_DRIVER (jack_type_detect_change,404) ] 3 pole headset or TV-out attatched : adc = 46
I also noticed that after I load driver, I see device file called /dev/fmradio. It disappers when I unload driver. It looks like /dev/fmradio is a control device for radio chip (i found string /dev/fmradio inside si4709_test tool).

oh noes! I want the fm radio function.

for_ap1 said:
I tied to run test with headphones connected. Attempt to power up device results in reboot.
Below is kernel log related to loading driver and connecting headphones:
<7>[ 197.626426] device: 'fmradio': device_add
<7>[ 197.628218] PM: Adding info for No Bus:fmradio
<7>[ 197.635228] bus: 'i2c': add driver Si4709_driver
<7>[ 197.665086] i2c-adapter i2c-8: NAK from device addr 0x10 msg #0
<6>[ 204.231953] [ JACK_DRIVER (jack_type_detect_change,404) ] 3 pole headset or TV-out attatched : adc = 46
I also noticed that after I load driver, I see device file called /dev/fmradio. It disappers when I unload driver. It looks like /dev/fmradio is a control device for radio chip (i found string /dev/fmradio inside si4709_test tool).
Click to expand...
Click to collapse
Any way to compare pics of the Captivate mainboard with a Galaxy S? In the general Captivate forum there are pics of the board. Compare chip numbers and see if there are any unmatching chips.
zerosource said:
oh noes! I want the fm radio function.
Click to expand...
Click to collapse
lol I can see the use for it in a natural disaster, during Katrina the radio was all we really had but all the good channels were on the AM side.

decepticon said:
Any way to compare pics of the Captivate mainboard with a Galaxy S? In the general Captivate forum there are pics of the board. Compare chip numbers and see if there are any unmatching chips.
Click to expand...
Click to collapse
I looked at these photos and also at photos from FCC site, but resolution is too low to read chip markings. FM chip is very small in size, so it is really hard to find it.
It seems that receiver talks via I2S bus and also needs few GPIO lines to work. If I understand correctly, I2S bus has no explicit acknowledgment, so driver might not now that device is not present on the bus. I couldn't find detailed application notes for the chip, just brief description is available. I need to look at driver sources to understand how it works. Hopefully Samsung releases it.

Will Samsung or AT&T tell us if there is an FM chip in there or not?

cesierra said:
Will Samsung or AT&T tell us if there is an FM chip in there or not?
Click to expand...
Click to collapse
Maybe a brave soul, will tear the phone apart and finally give us a straight answer
wont be me though

In the source code for the captivate, there's is a folder called fm_si4709 containing many files pertaining to that radio. Perhaps someone astute w/ kernel stuff could work the magic and enable the HW if it is there...

Well, I looked at sources of the driver (i9000 and I897 are the same). It does not do anything with hardware on driver init. So successfully loaded driver does not mean that hardware is present. I need to find a way to compile driver with debug mode on. Another option will be to build a tool that probes I2C bus (i2cdump and i2cdetect) from shell.

Ok, I was able to build modules using Samsung sources and toolchain from Sourcery. I do not know if I can use it with stock kernel though. Will try to play with it, if I have spare time on weekend.

I just built the kernel using the sourcery toolchain: http://www.codesourcery.com/sgpp/lite/arm/portal/release1033
I enabled the debug flag for the FM radio driver (uncomment #define Si4709_DEBUG in kernel/modules/fm_si4709/Si4709_common.h)
I did an insmod of the compiled module (Si4709_driver.ko). Note the last few lines from dmesg (i2c_read failed & Si4709_dev_init failed) . Doesn't look promising.
<2>[277139.763458] --------Si4709_driver_init called
<7>[277139.766871] device: 'fmradio': device_add
<7>[277139.768313] PM: Adding info for No Bus:fmradio
<2>[277139.774798] --------Si4709_driver_init request_irq success 192
<2>[277139.779520] --------Si4709 i2c driver Si4709_i2c_driver_init called
<7>[277139.785779] bus: 'i2c': add driver Si4709_driver
<4>[277139.799406] ----- si4709_i2c_probe 94
<7>[277139.801782] device: '8-0010': device_add
<7>[277139.801979] bus: 'i2c': add device 8-0010
<7>[277139.802269] PM: Adding info for i2c:8-0010
<7>[277139.802442] driver: '8-0010': driver_bound: bound to device 'Si4709_driver'
<2>[277139.802555] --------Si4709 i2c driver Si4709_probe called
<2>[277139.807314] --------Si4709_dev_init called
<7>[277139.847935] i2c-adapter i2c-8: NAK from device addr 0x10 msg #0
<2>[277139.848866] --------i2c_read failed
<2>[277139.851148] --------Si4709_dev_init call over
<2>[277139.855568] --------Si4709_dev_init failed
<2>[277139.859757] --------Si4709_driver_init successful

Damn that sucks :-(. Wish we knew what the chip looked like so we could just see if its on the phone.

why would they put the drivers in, if there is no chip? This is just a hope.

I was think the same thing. I don't know much about kernel building but I would imagine if I was the guy at Samsung making it I wouldn't add sh!t that was useless

They didn't add a potentially useless driver, they just didn't remove it. Big difference

Related

Multisync - synce & bluetooth; the missing step

Hello,
I'd like to sync contact contacts, calendar, files with Linux and my Qtek s100 (xda-mini), i followed various howtos with not complete results.
Last working step is that I'm able to ping my pocketpc via bluetooth:
Code:
l2ping 00:09:2D:4E:E8:D3
Ping: 00:09:2D:4E:E8:D3 from 00:10:60:A9:89:86 (data size 20) ...
94 bytes from 00:09:2D:4E:E8:D3 id 0 time 44.68ms
94 bytes from 00:09:2D:4E:E8:D3 id 1 time 49.33ms
94 bytes from 00:09:2D:4E:E8:D3 id 2 time 30.01ms
94 bytes from 00:09:2D:4E:E8:D3 id 3 time 38.99ms
4 sent, 4 received, 0% loss
The guides I'm talking about are:
__Bluetooth__
http://forums.gentoo.org/viewtopic.php?t=121109&highlight=bluetooth+pocketpc
http://wiki.gentoo-portage.com/HOWTO_mobile_phone,_Bluetooth_and_GNOME
__Multisync/synce__
http://synce.sourceforge.net/synce/bluetooth.php
I can set up the pc bluetooth in the xda (I insert the passkey in both), but when i go to the activesync prg It starts a connection that ends after about a minute
__dmesg__
Code:
parport: PnPBIOS parport detected.
parport0: PC-style at 0x278, irq 5 [PCSPP,TRISTATE]
lp0: using parport0 (interrupt-driven).
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.7
usbcore: registered new driver hci_usb
NET: Registered protocol family 8
NET: Registered protocol family 20
usb 1-2: modprobe timed out on ep0in
usbcore: registered new driver speedtch
usb 1-2: no stage 1 firmware found!<6>Bluetooth: L2CAP ver 2.6
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
eth0: link down
mtrr: 0xf0000000,0x4000000 overlaps existing 0xf0000000,0x80000
usb 1-2: usbfs: interface 1 claimed while 'modem_run' sets config #1
usb 1-2: usbfs: interface 2 claimed while 'modem_run' sets config #1
usb 1-2: usbfs: interface 0 claimed while 'modem_run' sets config #1
usb 1-2: usbfs: interface 1 claimed while 'modem_run' sets config #1
usb 1-2: usbfs: interface 2 claimed while 'modem_run' sets config #1
CSLIP: code copyright 1989 Regents of the University of California
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
Thank you in advance for your help
I found on synce site
These devices do not work with any released Linux kernel!
This note is known or probable to apply to the following devices, but may also apply to others:
* HTC Canary/Tanager (also known as i-Mate Smartphone, Orange SPV/SPV e100, Qtek 7070)
* HTC Voyager (also known as i-Mate Smartphone 2, Orange SPV e200, Qtek 8080)
* HTC Typhoon (also known as Orange c500, Qtek 8010)
* Motorola MPx200
Click to expand...
Click to collapse
is qtek s100 one of these devices?
I also tried
http://wiki.xda-developers.com/index.php?pagename=bluetoothnetworking

Making the Shift compatible to Win XP

As the title notes, it will be a good ideea to focus our efforts in making this possible. Any ideeas are welcomed and in this stage I would like that users (who already tried installing XP on the Shift) write their experieces here.
Making some sort of driver for the touchscreen imput should be our first priority. If someone can find more specific informations about the touchscreen's controller and some chipset codes it would be a good place to start.
I'm waiting for my Shift to arrive (something like a week or so) in order to get the work started.
hey dude greetings,
I have installed a dual boot XP SP2 with OEM shift Vista successfully; however there are some anomalies; the obvious lack off graphics drivers, sound etc are there. I have managed to get drivers for most of the components; however the SDIO wireless card is not even detected BT is detected if you activate it first from Vista Shag then reboot back to XP. The weird thing is that no HID components are actually detected i.e. pen device etc. The monitor tab under device manager is interesting; it displays 3x 1024*768 digital lcd panel. I will try and a device dump of hardware ids and attach it to this thread; maybe that will give us a clue to controller chip sets.
BUS report
Report-Date = 27-03-2008 (D-M-Y)
PC-Model = HTC SHIFT
=== F u l l R e p o r t ================================================
Bus 0 (PCI Express), Device Number 0, Device Function 0
Vendor 8086h Intel Corporation
Device 27A0h 955XM/945GM/PM/GMS/940GML Express Processor to DRAM Controller
Command 0006h (Memory Access, BusMaster)
Status 2090h (Has Capabilities List, Supports Back-To-Back Trans., Received Master Abort, Fast Timing)
Revision 03h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Bridge, type PCI to HOST
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
New Capabilities List Present:
Vendor-Dependant Capability
Bus 0 (PCI Express), Device Number 2, Device Function 0
Vendor 8086h Intel Corporation
Device 27A2h Mobile 945GM/GU Express Integrated Graphics Controller
Command 0007h (I/O Access, Memory Access, BusMaster)
Status 0090h (Has Capabilities List, Supports Back-To-Back Trans., Fast Timing)
Revision 03h, Header Type 80h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Display, type VGA
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 0 is a Memory Address (anywhere in 0-4Gb) : CFE80000h
Address 1 is an I/O Port : 0000EC00h
Address 2 is a Memory Address (anywhere in 0-4Gb, Prefetchable) : D0000000h
Address 3 is a Memory Address (anywhere in 0-4Gb) : CFE40000h
New Capabilities List Present:
Message Signalled Interrupt Capability
MSI is enabled
MSI function can generate 32-bit addresses
Power Management Capability, Version 1.1
Does not support low power State D1 or D2
Does not support PME# signalling
Current Power State : D0 (Device operational, no power saving)
Bus 0 (PCI Express), Device Number 2, Device Function 1
Vendor 8086h Intel Corporation
Device 27A6h Mobile 945GM/GU Express Integrated Graphics Controller
Command 0007h (I/O Access, Memory Access, BusMaster)
Status 0090h (Has Capabilities List, Supports Back-To-Back Trans., Fast Timing)
Revision 03h, Header Type 80h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Display, type Other
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 0 is a Memory Address (anywhere in 0-4Gb) : FEA80000h
New Capabilities List Present:
Power Management Capability, Version 1.1
Does not support low power State D1 or D2
Does not support PME# signalling
Current Power State : D0 (Device operational, no power saving)
Bus 0 (PCI Express), Device Number 27, Device Function 0
Vendor 8086h Intel Corporation
Device 27D8h 82801G (ICH7 Family) High Definition Audio
Command 0006h (Memory Access, BusMaster)
Status 0010h (Has Capabilities List, Fast Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
Cache line size 32 Bytes (8 DWords)
PCI Class Multimedia, type Hi-definition Audio
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 0 is a Memory Address (anywhere in 64-bit space) : CFE3C000h
System IRQ 19, INT# B
New Capabilities List Present:
Power Management Capability, Version 1.1
Does not support low power State D1 or D2
Supports PME# signalling from mode(s) D0, D3hot, D3cold
PME# signalling is currently disabled
Current Power State : D0 (Device operational, no power saving)
3.3v AUX Current required : 55mA
Message Signalled Interrupt Capability
MSI is disabled
MSI function can generate 64-bit addresses
PCI Express Capability, Version 1
Device/Port Type :
Root Complex Integrated Endpoint Device
Device Control :
Unsupported Request Severity is Non-Fatal
Device Status :
AUX Power Detected
Link Capabilities :
Maximum Link Speed : Unknown (00h)!!
Maximum Link Width : xReserved
Link Port Number : 0
Link Control :
Asynchronous Clocking in Use
Link Status :
Current Link Speed : Unknown (00)!!
Current Link Width : x0
Bus 0 (PCI Express), Device Number 29, Device Function 0
Vendor 8086h Intel Corporation
Device 27C8h 82801G (ICH7 Family) USB Universal Host Controller
Command 0005h (I/O Access, BusMaster)
Status 0280h (Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 80h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Serial, type USB (UHCI)
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 4 is an I/O Port : 0000E480h
System IRQ 21, INT# A
Bus 0 (PCI Express), Device Number 29, Device Function 1
Vendor 8086h Intel Corporation
Device 27C9h 82801G (ICH7 Family) USB Universal Host Controller
Command 0005h (I/O Access, BusMaster)
Status 0280h (Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Serial, type USB (UHCI)
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 4 is an I/O Port : 0000E800h
System IRQ 23, INT# B
Bus 0 (PCI Express), Device Number 29, Device Function 2
Vendor 8086h Intel Corporation
Device 27CAh 82801G (ICH7 Family) USB Universal Host Controller
Command 0005h (I/O Access, BusMaster)
Status 0280h (Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Serial, type USB (UHCI)
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 4 is an I/O Port : 0000E880h
System IRQ 18, INT# C
Bus 0 (PCI Express), Device Number 29, Device Function 7
Vendor 8086h Intel Corporation
Device 27CCh 82801G (ICH7 Family) USB 2.0 Enhanced Host Controller
Command 0106h (Memory Access, BusMaster, System Errors)
Status 0290h (Has Capabilities List, Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Serial, type USB 2.0 (EHCI)
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 0 is a Memory Address (anywhere in 0-4Gb) : CFE3BC00h
System IRQ 22, INT# D
New Capabilities List Present:
Power Management Capability, Version 1.1
Does not support low power State D1 or D2
Supports PME# signalling from mode(s) D0, D3hot, D3cold
PME# signalling is currently disabled
Current Power State : D0 (Device operational, no power saving)
3.3v AUX Current required : 375mA
USB 2.0 EHCI Debug Port Capability
Bus 0 (PCI Express), Device Number 30, Device Function 0
Vendor 8086h Intel Corporation
Device 2448h 82801GBM Hub Interface to PCI Bridge (ICH7-M B0 step)
Command 0107h (I/O Access, Memory Access, BusMaster, System Errors)
Status 0010h (Has Capabilities List, Fast Timing)
Revision E2h, Header Type 01h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Bridge, type PCI to PCI (Subtractive Decode)
PCI Bridge Information:
Primary Bus Number 0, Secondary Bus Number 1, Subordinate Bus Number 1
Secondary Bus Command 0002h ()
Secondary Bus Status 2280h (Supports Back-To-Back Trans., Received Master Abort, Medium Timing)
Secondary Bus Latency 20h
I/O Port Range Passed to Secondary Bus : None
Memory Range Passed to Secondary Bus : CFF00000h to CFFFFFFFh
Prefetchable Memory Range Passed to Secondary Bus : None
New Capabilities List Present:
Subsystem ID & Subsystem Vendor ID Capability
SSVID : 5567h
SSID : 1001h
Bus 0 (PCI Express), Device Number 31, Device Function 0
Vendor 8086h Intel Corporation
Device 27B9h 82801GBM (ICH7-M) LPC Interface Controller
Command 0007h (I/O Access, Memory Access, BusMaster)
Status 0210h (Has Capabilities List, Medium Timing)
Revision 02h, Header Type 80h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Bridge, type PCI to ISA
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
New Capabilities List Present:
Vendor-Dependant Capability
Bus 0 (PCI Express), Device Number 31, Device Function 1
Vendor 8086h Intel Corporation
Device 27DFh 82801G (ICH7 Family) Ultra ATA Storage Controller
Command 0005h (I/O Access, BusMaster)
Status 0280h (Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Storage, type IDE (ATA)
PCI EIDE Controller Features :
BusMaster EIDE is supported
Primary Channel is at I/O Port 01F0h and IRQ 14
Secondary Channel is at I/O Port 0170h and IRQ 15
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 0 is an I/O Port : 00000000h
Address 1 is an I/O Port : 00000000h
Address 2 is an I/O Port : 00000000h
Address 3 is an I/O Port : 00000000h
Address 4 is an I/O Port : 0000FFA0h
second Half
Bus 0 (PCI Express), Device Number 31, Device Function 3
Vendor 8086h Intel Corporation
Device 27DAh 82801G (ICH7 Family) SMBus Controller
Command 0001h (I/O Access)
Status 0280h (Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Serial, type SMBus Controller
Subsystem ID 10015567h Unknown
Subsystem Vendor 5567h Unknown
Address 4 is an I/O Port : 0000FFE0h
System IRQ 17, INT# B
Bus 1 (PCI), Device Number 6, Device Function 0
Vendor 1947h Unknown
Device 4743h Unknown
Command 0006h (Memory Access, BusMaster)
Status 0210h (Has Capabilities List, Medium Timing)
Revision 09h, Header Type 00h, Bus Latency Timer 40h
Minimum Bus Grant 01h, Maximum Bus Latency 0Ch
Self test 00h (Self test not supported)
Cache line size 32 Bytes (8 DWords)
PCI Class System, type SD Host Controller (Without DMA)
Subsystem ID 44332211h Unknown
Subsystem Vendor 2211h Unknown
Address 0 is a Memory Address (anywhere in 0-4Gb) : CFFFFE00h
Address 1 is a Memory Address (anywhere in 0-4Gb) : CFFFFC00h
System IRQ 20, INT# A
New Capabilities List Present:
Unknown Capability (Code 00h)!!
IRQ Summary: IRQs 14,15,17,18,19,20,21,22,23 are used by PCI devices
Shared IRQs: There are no shared PCI IRQs
IRQ control is currently managed by the system APIC controller - IRQ info is
not actual hardware settings...
PCI Busses, Devices and Device Functions Tree
--Bus 0 (PCI Express)
|__Device 00h 8086h:27A0h PCI to HOST Bridge
|__Device 02h
| |__Function 0 8086h:27A2h VGA Display
| |__Function 1 8086h:27A6h Other Display
|__Device 1Bh 8086h:27D8h Hi-definition Audio Multimedia
|__Device 1Dh
| |__Function 0 8086h:27C8h USB (UHCI) Serial
| |__Function 1 8086h:27C9h USB (UHCI) Serial
| |__Function 2 8086h:27CAh USB (UHCI) Serial
| |__Function 7 8086h:27CCh USB 2.0 (EHCI) Serial
|__Device 1Eh 8086h:2448h PCI to PCI (Subtractive Decode) Bridge > Bus 1
|__Device 1Fh
|__Function 0 8086h:27B9h PCI to ISA Bridge
|__Function 1 8086h:27DFh IDE (ATA) Storage
|__Function 3 8086h:27DAh SMBus Controller Serial
--Bus 1 (PCI)
|__Device 06h 1947h:4743h SD Host Controller (Without DMA) System
A total of 13 Devices Found
those damn suckers at htc romania told me that my shift will be comming from sweeden and it will take another 2 weeks untill i get my own one. Untill then I have nothing to play with and experiment.
In order to get the support for wlan and touchpad I think the first test would be to see if we can port the drivers from vista to the xp part of the device. Furthermore, there are some HTC made management programs that need to be implemented in xp if we're going to ask for more.
Thanks for the hardware ID's, I'm waiting for my unit to come and untill then I'll try to collect as much info as possible.
LE
Lol, shoudn't shift run on a intel GMA950 ?
Bus 0 (PCI Express), Device Number 2, Device Function 1
Vendor 8086h Intel Corporation
Device 27A6h Mobile 945GM/GU Express Integrated Graphics Controller
keep the work gong everyone. we will try to help also.
facdemol said:
those damn suckers at htc romania told me that my shift will be comming from sweeden and it will take another 2 weeks untill i get my own one. Untill then I have nothing to play with and experiment.
In order to get the support for wlan and touchpad I think the first test would be to see if we can port the drivers from vista to the xp part of the device. Furthermore, there are some HTC made management programs that need to be implemented in xp if we're going to ask for more.
Thanks for the hardware ID's, I'm waiting for my unit to come and untill then I'll try to collect as much info as possible.
LE
Lol, shoudn't shift run on a intel GMA950 ?
Bus 0 (PCI Express), Device Number 2, Device Function 1
Vendor 8086h Intel Corporation
Device 27A6h Mobile 945GM/GU Express Integrated Graphics Controller
Click to expand...
Click to collapse
I have used the vista drivers for G sensor on the hard drive, the graphics and sound drivers dont appear to work with XP, however this may be the inf file as apposed to the bins. The proble is I have the drivers for the SDIO wifi but XP dosent see the hardware, I have forced the drivers on in a hope to see if the OS responds but it doesnt work. The touch pad works, the pen or touch screen does not work and again like the wifi driver it does not appear to be detected by the OS. I have been unable to force the vista HID pen driver to XP as in add hardware there is no option for this (HID device) I guess the OS needs to detect it. Looking through the scan of the pci bus it appears HTC have not yet added there vendor id to the PCI Vendor and Device Lists which is a bit weird Over the weekend if I get a chance I might try to have a look at the vista drivers (dlls) to see what is in them. Also the Shag control service does not appear to like installing or running on XP which could be a bit of a bummer. Although I think Comonex has rei the Shag bins so i am pretty confident Comonex might be able to help us getting that working on XP. I just trying to figure out how to get the OS to at least detect the missing hardware.
thanks faisal.husain for working in this direction.
The key with touchscreen recognised is to have Shag program made compatible with xp. Unlike tablet pc's this device seems to operate bluetooth, wlan and HID devices in a more "pocket pc" manner. They are simply powered off when not in use, ore not connected. This is a hardware based situation and the role of the Shag thing is to power them in order to have the operating system see them. So from what I hear from you I thinks trying to have the Shag compatible with XP is another place to start. The inf files would be easily made compatible with xp then...
Graphic Driver
Here is the link for the graphics card.
http://downloadcenter.intel.com/fil...XP+Professional&lang=eng&strOSs=44&submit=Go!
USB2 to Fast Ethernet Adapter
Here is the USB network driver link;
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=86;71;101
Synaptics Driver Software
Here's the touchpad
http://drivers.synaptics.com/Synaptics_Driver_v10_1_8_XP32.exe
Intel Mainboard / USB Subsystem and Memory drivers + Chipset correct drivers
Here is the link to the intel chipset for our shifts.
http://downloadcenter.intel.com/fil...XP+Professional&lang=eng&strOSs=44&submit=Go!
Wow. Time to move to XP is near....
I got everything working except the Touchscreen IIRC (and the shagctrl).
Stupidly I didn't save the driver links, but I think the TouchScreen is the big one we need to worry about.
I installed alongside Vista, and so for one of the devices that I couldn't find I just pointed it at c:\windows\inf for the driver, that was one of the 'HTC' system devices.
I even got the external ethernet working too.
If someone can get the touchscreen working, i'll dig out the other links.
P
XP
Yeah I got to the same position too, but failed on the Touch part.
modaco said:
I got everything working except the Touchscreen IIRC (and the shagctrl).
Click to expand...
Click to collapse
just to confirm, are you saying that you got the Wifi, SD, and BT devices working under XP?
and the ONLY device that isn't currently working under XP is the touchscreen?
facdemol said:
those damn suckers at htc romania told me that my shift will be comming from sweeden and it will take another 2 weeks untill i get my own one. Untill then I have nothing to play with and experiment.
Bus 0 (PCI Express), Device Number 2, Device Function 1
Vendor 8086h Intel Corporation
Device 27A6h Mobile 945GM/GU Express Integrated Graphics Controller
Click to expand...
Click to collapse
I got mine already a month ago from HTC Romania.
I cannot say I am superhappy with the Shift, but their service is OK. They helped me quickly and professionally with a problem I had with the touchscreen.
Was my mistake anyway by putting it on too fast.
Huib
P.s. I even may consider selling it and take this P1620 Fujitsu.
As a future buyer of Shift.. what didn't you like about the device? Putting the not so good battery life aside.
It seems by the time i get my own shift, people here will have already sort out most of the problems and I will be left without job
facdemol said:
As a future buyer of Shift.. what didn't you like about the device? Putting the not so good battery life aside.
It seems by the time i get my own shift, people here will have already sort out most of the problems and I will be left without job
Click to expand...
Click to collapse
Too much hassle with the small screen. I use fingers for browsing one time, then I need the stylus another time.
I have a continuous battle when browsing the internet or reading pda files etc.
I use a lot of Google tools, like Calendar and docs.
I must say the software helps a lot, but still. The F11 key does not exist, so I have to find a solution to switch full screen.
Now, pls believe me on my word: I have no commercial or emotional motives to say this: But I think I go for the somewhat bigger/faster Fujitsu P1620. I know the screen does not work well with fingers but that is the only disadvantage. I need those two inches real estate more.
But I repeat: It can be my age. I wanted the shift mainly for my boring, long, economy class flights. A normal portable can not be folded out, because the chair in front of you can be put down.
And I was hoping for a working XP. I have a lot of software that I do not want to buy once more, like the old Office 2003.
This disk, with Vista, keeps spinning and spinnging, even with indexing switched off. VLC player has a battle to play normally. It works now, but..
But maybe I will change my mind.
When I have
1. An extra battery
2. a 32 gigabyte SD card.
3 And..... thanks to you guys, a really working Winmo with Wifi, synchronising outlook, SD card OK etc etc.
Huib
Do you have problems running Office 2003 under Vista? Normally it runs fine.

The all-in-one Galaxy S2 Hack Pack

I've been compiling information for UnBrickable mod on the various versions of the Galaxy S2 device. This generation is by-far the most decentralized "model" I've ever heard of. Some of the devices contain Exynos processors, some Qualcomm and others have OMAP.
We've conducted research on this generation of device in the following threads:
AT&T GS2 UART/bootloader hacking: http://forum.xda-developers.com/showthread.php?t=1313588
Epic 4G Touch information gathering: http://forum.xda-developers.com/showthread.php?t=1262081
Galaxy Nexus UnBrickable Mod development: http://forum.xda-developers.com/showthread.php?t=1310865
But you're here for the Galaxy S2 Hack Pack. This Hack Pack is designed to help out those looking for information on modifying and/or repairing their expensive devices. This package contains:
Reading Material
GT-i9100 official service manual - service manual which applies to most GS2 devices
Exynos 4120 public datasheet -datasheet explaining internal workings of the chip
Origenboard documentation -Exynos based development board
OMAP 4430 datasheets -datasheet explaining internal workings of the chip
FSA9280A datasheet -USB Switch chip which responds to resistors and routes communications around the phone
-(no information on qualcomm processors is available)-
model speciffic
AT&T SGS2 uart -UART output logs
i9100 IROM -memory dumps
i9100T bootrom -memory dumps
Epic 4G Touch pictures-pictures of internals
Galaxy Nexus specs -models of chips used in Galaxy Nexus
Android Binaries
bash - the best scriptable shell ever
i2cdetect -i2c address detector
i2cdump -i2c bus dumper
i2cget -i2c information grabber
i2cset -i2c information sender
tcpdump - monitors network traffic
viewmem - allows memory dumps
apps
smdk-tools - a set of linux development tools designed for direct communciation with the Exynos processor.
Download The Galaxy S2 Hack Pack
Please note, none of the contained information is my own original work. This has been compiled over the last month of researching this device. All information in this Hack Pack is available on the Internet from various sources.
Credits:
Samsung- i9100 service manuals and other tools.
SuperCurio- Model Numbers of the chips in the device were discovered by SuperCurio from a Voodoo Report sent from a Hong Kong conference.
Please let me know if there's anything I should add to this pack.
Reserved post for additional CPU&booting sequence info. (coming soon)
Maybe someone can help us, we have used this toolchains: arm2009-q3, AOSP 4.4.0, Linaro 4.6, Linaro 4.5.
It all doesnt work, so if someone knows the solution: help us!
Source: github.com/Dawn-Kernel-Team/dawn-update3-kernel
@ netchip
sorry for my off topic. can u please take help of adamoutler for our cm7 camera driver issues...???? He is expert in hardware.
vishal24387 said:
@ netchip
sorry for my off topic. can u please take help of adamoutler for our cm7 camera driver issues...???? He is expert in hardware.
Click to expand...
Click to collapse
You can contact him via PM.
Sent from my GT-I9100
any chance of adding s frequency band selector? to one could set the bands that your provider uses and disable the rest?
there is a baseband/frequency selector-deselector that was developed by some chinese hackers in our thread in moto defy...
its called the "defy baseband switcher"-maybe you can modify it & make it applicable to your device.
AdamOutler said:
Please let me know if there's anything I should add to this [...]
Click to expand...
Click to collapse
I'm missing the THANKS-Button for your OP!
Thank you!
thanks for the info worked awesome
Thanks for the package. Where I can read how to use i2c tools prom package? I have few SGS2 with camera problem, small work, big- not) I want get dump i2c from camera in working phone and not working. Thanks.
i'm saving this one for lata, amazing work!
thanks man
great stuff. Love the abilities of members on here
Does this include resources for the GT-I9100G model?
Does anyone have a more detailed datasheet for the Samsung S5PC210/S5PV310/Exynos4210?
Thank you so much!
Downloading
About nexus s
AdamOutler said:
I've been compiling information for UnBrickable mod on the various versions of the Galaxy S2 device. This generation is by-far the most decentralized "model" I've ever heard of. Some of the devices contain Exynos processors, some Qualcomm and others have OMAP.
We've conducted research on this generation of device in the following threads:
AT&T GS2 UART/bootloader hacking: http://forum.xda-developers.com/showthread.php?t=1313588
Epic 4G Touch information gathering: http://forum.xda-developers.com/showthread.php?t=1262081
Galaxy Nexus UnBrickable Mod development: http://forum.xda-developers.com/showthread.php?t=1310865
But you're here for the Galaxy S2 Hack Pack. This Hack Pack is designed to help out those looking for information on modifying and/or repairing their expensive devices. This package contains:
Reading Material
GT-i9100 official service manual - service manual which applies to most GS2 devices
Exynos 4120 public datasheet -datasheet explaining internal workings of the chip
Origenboard documentation -Exynos based development board
OMAP 4430 datasheets -datasheet explaining internal workings of the chip
FSA9280A datasheet -USB Switch chip which responds to resistors and routes communications around the phone
-(no information on qualcomm processors is available)-
model speciffic
AT&T SGS2 uart -UART output logs
i9100 IROM -memory dumps
i9100T bootrom -memory dumps
Epic 4G Touch pictures-pictures of internals
Galaxy Nexus specs -models of chips used in Galaxy Nexus
Android Binaries
bash - the best scriptable shell ever
i2cdetect -i2c address detector
i2cdump -i2c bus dumper
i2cget -i2c information grabber
i2cset -i2c information sender
tcpdump - monitors network traffic
viewmem - allows memory dumps
apps
smdk-tools - a set of linux development tools designed for direct communciation with the Exynos processor.
Download The Galaxy S2 Hack Pack
Please note, none of the contained information is my own original work. This has been compiled over the last month of researching this device. All information in this Hack Pack is available on the Internet from various sources.
Credits:
Samsung- i9100 service manuals and other tools.
SuperCurio- Model Numbers of the chips in the device were discovered by SuperCurio from a Voodoo Report sent from a Hong Kong conference.
Please let me know if there's anything I should add to this pack.
Click to expand...
Click to collapse
Do you have any documents about controlling nexus s baseband? or about xg616 development information?
Just what I was looking for! Amazing work...
Time for SGS2 Hack-Pack Update?
Some updates to the GT-I9100 Hack-Pack...
NOTE: The internal wiring of the (Sprint Epic Touch 4G) SPH-D710 is completely different from this!
I have painstakingly tried to trace down and document all chips related to the micro-usb connector on the i9100. Since that phone may be incorrectly wired as suggested, but not proved, by AdamOutler, we need to understand exactly how all the various multiplexers are affecting the USB connections. In addition, since all useful and "fun to develop for", hardware is kept secret by the manufacturing bastards, I have tried my best, with what little moldy breadcrumbs we have for documentation, to recreate and understand how that darn thing is wired.
Here are a few of my most recent findings and results.
MHL/MUX-1: FSA3200UMX (Service Manual: "U709", page 90 [Section: 8-64])
Code:
[SIZE=2]Type: 2-port HS-USB2 Switch with MHL [/SIZE]
[SIZE=2]Package: UMLP-16[/SIZE]
[SIZE=2]Label: [/SIZE]
[SIZE=2]Link: [/SIZE]
[SIZE=2]Data (brief): [/SIZE]
[SIZE=2]Data (full): http://www.fairchildsemi.com/ds/FS/FSA3200.pdf[/SIZE]
[SIZE=2]Picture: http://images.anandtech.com/galleries/1362/SGS2-4198.jpg[/SIZE]
[SIZE=2]Description: [/SIZE]
[SIZE=2]This chip is used to connect the phone with an MHL (Mobile High definition Link)[/SIZE]
[SIZE=2]cable, for full HD audio/video. [/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]pin signal i/o uUSB? svc_manual_name chip/connector?[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]1 GND[/SIZE]
[SIZE=2]2 D+ io *? USB_DP_SUB_CON (HDC703)[/SIZE]
[SIZE=2]3 D- io *? USB_DM_SUB_CON (HDC703)[/SIZE]
[SIZE=2]4 PSO % GND[/SIZE]
[SIZE=2]5 SEL1 i = SEL2 = MHL_SEL[/SIZE]
[SIZE=2]6 USB- o PMIC_DM U501:MAX8997:?[/SIZE]
[SIZE=2]7 USB+ i PMIC_DP U501:MAX8997:?[/SIZE]
[SIZE=2]8 GND[/SIZE]
[SIZE=2]9 SEL2 i = SEL1 = MHL_SEL[/SIZE]
[SIZE=2]10 MDV- io MHL_DM[/SIZE]
[SIZE=2]11 MDV+ io MHL_DP[/SIZE]
[SIZE=2]12 ID_USB i PMIC_ID U501:MAX8997:?[/SIZE]
[SIZE=2]13 ID_MDV i MHL_ID[/SIZE]
[SIZE=2]14 ID_COM i *? USB_ID_SUB_CON (HDC703)[/SIZE]
[SIZE=2]15 VBUS + ? USB_VBUS_AP_4.9V[/SIZE]
[SIZE=2]16 VCC[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]Note: Here the signals for MDV are referred to as MHDI in service manual.[/SIZE]
[SIZE=2]Since SEL1=SEL2=:SEL are hardwired, we only have:[/SIZE]
[SIZE=2]SEL=00: D+/- = USB+/- and ID_COM = ID_USB[/SIZE]
[SIZE=2]SEL=11: D+/- = MDV+/- and ID_COM = ID_MDV[/SIZE]
OTG MAX8627 (Service Manual: "U503", pg.92)
Code:
[SIZE=2]Type: OTG power-booster[/SIZE]
[SIZE=2]Package: 14-pin[/SIZE]
[SIZE=2]Label: [/SIZE]
[SIZE=2]Link: [/SIZE]
[SIZE=2]Data (brief): [/SIZE]
[SIZE=2]Data (full): http://datasheets.maxim-ic.com/en/ds/MAX8627.pdf[/SIZE]
[SIZE=2]Picture: [/SIZE]
[SIZE=2]Description: [/SIZE]
[SIZE=2]This chip is responsible for providing enough power (up 1A) to OTG devices,[/SIZE]
[SIZE=2]using the phone battery, once it receives a high on the "ON" pin-3.[/SIZE]
[SIZE=2]"The MAX8627 step-up converter is a high-efficiency, low-quiescent current, [/SIZE]
[SIZE=2]synchronous boost converter with True Shutdown™ and inrush current limiting. [/SIZE]
[SIZE=2]The MAX8627 generates any boosted output voltage from 3V to 5V from either a [/SIZE]
[SIZE=2]2-cell NiMH/NiCd or a single-cell Li+/Li polymer battery.[/SIZE]
[SIZE=2]Quiescent current is only 20µA (typ), and at light loads the converter pulses [/SIZE]
[SIZE=2]only as needed for best efficiency. At higher loads, PWM mode maintains fixed [/SIZE]
[SIZE=2]1MHz operation for lowest noise and ripple.[/SIZE]
[SIZE=2]The MAX8627 includes an internal soft-start to limit inrush current to a [/SIZE]
[SIZE=2]maximum of 500mA. Additional features include True Shutdown, internal [/SIZE]
[SIZE=2]compensation, and adjustable current limit. The MAX8627 is available in a tiny [/SIZE]
[SIZE=2]3mm x 3mm TDFN package and is ideal for use in handheld devices such as DSCs, [/SIZE]
[SIZE=2]PDAs, and smartphones."[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]pin signal i/o chip/connector?[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]1 GND PGND[/SIZE]
[SIZE=2]2 FB % [/SIZE]
[SIZE=2]3 ON USB_OTG_EN [/SIZE]
[SIZE=2]4 BATT V_BAT[/SIZE]
[SIZE=2]5 BATT V_BAT [/SIZE]
[SIZE=2]6 POUT V_BUS_5V [/SIZE]
[SIZE=2]7 POUT V_BUS_5V [/SIZE]
[SIZE=2]8 LX V_BAT[/SIZE]
[SIZE=2]9 LX V_BAT[/SIZE]
[SIZE=2]10 PG PGND[/SIZE]
[SIZE=2]11 PG PGND[/SIZE]
[SIZE=2]12 AGND GND[/SIZE]
[SIZE=2]13 ILIM % [/SIZE]
[SIZE=2]14 OUTS V_BUS_5V[/SIZE]
Charger: ? (Service Manual: "U504", Service Manual, pg.37)
Code:
[SIZE=2]Type: Charging chip[/SIZE]
[SIZE=2]Package: 10 pin[/SIZE]
[SIZE=2]Label: "ADDO T**" (18?)[/SIZE]
[SIZE=2]Some kind of charging or boost chip.... Perhaps MAX 17042 ??[/SIZE]
[SIZE=2]https://github.com/coolbho3k/android-omap-tuna/blob/android-omap-tuna-3.0-mr0/drivers/power/max17042_battery.c[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]pin name i/o path/connection[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]1 VIN [/SIZE]
[SIZE=2]2 ISET o CHG_CUR_M[/SIZE]
[SIZE=2]3 GND [/SIZE]
[SIZE=2]4 LDO V_BUS_LDO_5V[/SIZE]
[SIZE=2]5 IEOC GND[/SIZE]
[SIZE=2]6 EN|SET i CHG_EN ("Q500")[/SIZE]
[SIZE=2]7 GND [/SIZE]
[SIZE=2]8 CHGSB o CHG_ING_IN[/SIZE]
[SIZE=2]9 PGB o TA_nCONNECTED[/SIZE]
[SIZE=2]10 BATT V_BAT[/SIZE]
[SIZE=2]11 GND [/SIZE]
[SIZE=2]12 ??? [/SIZE]
And here is the Silicon Image MHL Transmitter chip, so now you can soon build your own MHL, mUSB-to-HDMI cable! (Just hook it up to a SiI9292.)
MHL: SiI9244B0 (Service Manual: "U708", Service Manual, pg.90,99)
Code:
[SIZE=2]Type: MHL transmitter for HD Audio/Video[/SIZE]
[SIZE=2]Package: 49-ball VFBGA (3.5 mm x 3.5 mm)[/SIZE]
[SIZE=2]Label: ~"9244B0"[/SIZE]
[SIZE=2]Link: http://www.siliconimage.com/docs/SiI9244%20PB_02-23-2011%20FINAL.3.pdf[/SIZE]
[SIZE=2]Data (brief): http://www.semiconductorstore.com/pdf/newsite/SiliconImage/SiI9244_DB.pdf[/SIZE]
[SIZE=2]Data (full): [/SIZE]
[SIZE=2]Derscription: http://www.siliconimage.com/news/releasedetails.aspx?id=617[/SIZE]
[SIZE=2]This is the MHL Transmitter, that is used to transmit HD (1080p) Audio/Video[/SIZE]
[SIZE=2]through the mUSB port. [/SIZE]
[SIZE=2]"The SiI9244 is an MHL transmitter for HD video and audio designed for [/SIZE]
[SIZE=2]power-sensitive consumer electronics devices such as mobile phones, digital [/SIZE]
[SIZE=2]cameras, portable media players and HD camcorders. Eliminating the need for an [/SIZE]
[SIZE=2]extra connector, the SiI9244 enables a cost-effective, low-pin count [/SIZE]
[SIZE=2]connectivity solution for the delivery of HD content."[/SIZE]
[SIZE=2]Pictures:[/SIZE]
[SIZE=2]SGS2 details:[/SIZE]
[SIZE=2]http://www.anandtech.com/print/4686[/SIZE]
[SIZE=2]For other chips on the SGS2 (Sprint Epic Touch 4G) SPH-D710:[/SIZE]
[SIZE=2]http://www.techrepublic.com/blog/itdojo/galaxy-s-ii-sprint-epic-4g-touch-teardown-samsung-exynos-processor-and-no-nfc/2945[/SIZE]
[SIZE=2]Silicon Image 9244 MHL transmitter:[/SIZE]
[SIZE=2]http://www.techrepublic.com/photos/cracking-open-the-samsung-galaxy-s-ii-sprint-epic-4g-touch/6305124?seq=54[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]Ball Name io Function Connection[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]A1 RSVDL [/SIZE]
[SIZE=2]A2 VDDQ GND [/SIZE]
[SIZE=2]A3 MHL_D io MHL:Data ?? U709:FSA3200:10 MHL_DM[/SIZE]
[SIZE=2]A4 MHL_DB io MHL:Data ?? U709:FSA3200:11 MHL_DP [/SIZE]
[SIZE=2]A5 - [/SIZE]
[SIZE=2]A6 - [/SIZE]
[SIZE=2]A7 CBUS_ID i MHL:BUS_ID(CEC||chip)? ?? U709:FSA3200:13 MHL_ID [/SIZE]
[SIZE=2]B1 RSVDL [/SIZE]
[SIZE=2]B2 RSVDL [/SIZE]
[SIZE=2]B3 RSVDL [/SIZE]
[SIZE=2]B4 GND [/SIZE]
[SIZE=2]B5 AVCC33 Vcc 3.3V[/SIZE]
[SIZE=2]B6 USB_ID io USB_ID ?? U709:FSA3200:9 MHL_SEL [/SIZE]
[SIZE=2]B7 RSVDL [/SIZE]
[SIZE=2]C1 CSCL i chip:SCL (CEC) [/SIZE]
[SIZE=2]C2 RSVDL [/SIZE]
[SIZE=2]C3 WAKE_UP i MHL:WAKE-UP [/SIZE]
[SIZE=2]C4 AVCC12 Vcc 1.2V[/SIZE]
[SIZE=2]C5 GND[/SIZE]
[SIZE=2]C6 V_SENSE i MHL:VSENSE [/SIZE]
[SIZE=2]C7 INT o chip:INT [/SIZE]
[SIZE=2]D1 CSDA io chip:SDA (CEC) [/SIZE]
[SIZE=2]D2 RSVDL [/SIZE]
[SIZE=2]D3 GND[/SIZE]
[SIZE=2]D4 IOVCC18 Vcc 1.8V[/SIZE]
[SIZE=2]D5 CVCC12 Vcc 1.2V[/SIZE]
[SIZE=2]D6 CI2CA i chip:I2C (audio) [/SIZE]
[SIZE=2]D7 RESET_N i chip:RESET_N [/SIZE]
[SIZE=2]E1 DSDA io HDMI:SDA (DDC) [/SIZE]
[SIZE=2]E2 GND[/SIZE]
[SIZE=2]E3 IO_VCC18 Vcc 1.8V[/SIZE]
[SIZE=2]E4 CVCC12 Vcc 1.2V[/SIZE]
[SIZE=2]E5 AVCC33 Vcc 3.3V[/SIZE]
[SIZE=2]E6 AVCC12 Vcc 1.2V[/SIZE]
[SIZE=2]E7 GND[/SIZE]
[SIZE=2]F1 RX2_P i HDMI#2 + HD_TX2+[/SIZE]
[SIZE=2]F2 GND[/SIZE]
[SIZE=2]F3 RPWR i HDMI:POWER [/SIZE]
[SIZE=2]F4 DSCL i HDMI:SCL (DDC) [/SIZE]
[SIZE=2]F5 AVCC12 Vcc 1.2V[/SIZE]
[SIZE=2]F6 GND[/SIZE]
[SIZE=2]F7 HPD o HDMI:PD (?power down?) [/SIZE]
[SIZE=2]G1 RX2_N i HDMI#2 - HD_TX2-[/SIZE]
[SIZE=2]G2 RX1_P i HDMI#1 + HD_TX1+[/SIZE]
[SIZE=2]G3 RX1_N i HDMI#1 - HD_TX1-[/SIZE]
[SIZE=2]G4 RX0_P i HDMI#0 + HD_TX0+[/SIZE]
[SIZE=2]G5 RX0_N i HDMI#0 - HD_TX0-[/SIZE]
[SIZE=2]G6 RXC_P i HDMI:Clock? + HD_TXC+ [/SIZE]
[SIZE=2]G7 RXC_N i HDMI:Clock? - HD_TXC-[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]RXn = HDMI Data Channel n (+/-)[/SIZE]
[SIZE=2]RSVDL = Reserved Low (tie to ground)[/SIZE]
[SIZE=2]RSVDH = Reserved Hi[/SIZE]
[SIZE=2]SCL = I2C Serial Clock [/SIZE]
[SIZE=2]SDA = I2C Serial Data Line [/SIZE]
[SIZE=2]CEC = Consumer Electronics Control (Anynet/AV.link) http://en.wikipedia.org/wiki/HDMI#CEC[/SIZE]
[SIZE=2]DCC = Display Control Channel http://en.wikipedia.org/wiki/Display_Control_Channel[/SIZE]
[SIZE=2]DDC = Display Data Channel http://en.wikipedia.org/wiki/Display_Data_Channel[/SIZE]
[SIZE=2]NOTE-1: A name prefixed with "A*" is for audio, while "C*" is for chip/control.[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
PMIC: MAX8997 (Service Manual: "U501", pg.95)
Code:
[SIZE=2]Type: Power Management IC[/SIZE]
[SIZE=2]Package: 169-bump WLP[/SIZE]
[SIZE=2]Label: [/SIZE]
[SIZE=2]Link: http://para.maxim-ic.com/en/results.mvp?fam=pmic[/SIZE]
[SIZE=2]Data (brief): [/SIZE]
[SIZE=2]Data (full): [/SIZE]
[SIZE=2]Closest Match: MAX8958[/SIZE]
[SIZE=2]Derscription: [/SIZE]
[SIZE=2]"The PMIC solution MAX8997 integrates seven highly efficient step-down [/SIZE]
[SIZE=2]converters, 21 low-dropout linear regulators (LDOs), battery charger, micro [/SIZE]
[SIZE=2]USB interface, real-time clock (RTC) with alarms, tactile-feedback motor [/SIZE]
[SIZE=2]driver, camera flash LED driver, 12 general-purpose I/Os (GPIOs), and I2C [/SIZE]
[SIZE=2]interface for programming. It also includes Maxim’s proprietary ModelGauge™ [/SIZE]
[SIZE=2]power-management technology (MAX17040–MAX17043)."[/SIZE]
[SIZE=2]The signals we are interested in are:[/SIZE]
[SIZE=2]Modem UPC300:[/SIZE]
[SIZE=2]T2 USIF1_RXD_MRST i AP_FLM_TXD --> PMIC:K3(18T2) -[?]-> AP_FLM_TXD_2.8V (XUTXD_3:A27) --> UART3: XXnn (check!)[/SIZE]
[SIZE=2]T3 USIF1_TXD_MTSR o AP_FLM_RXD --> PMIC:J4(18R1) -[?]-> AP_FLM_RXD_2.8V (XURXD_3:H27) --> UART3: XXnn (check!)[/SIZE]
[SIZE=2]M14 MIPI_HSI_RX_FLG i CP_RXD_1.8V --> PMIC:G3(18TNC2) -[?]-> AP:CP_RXD (?:?) --> UART3?: XXnn (check!)[/SIZE]
[SIZE=2]N13 MIPI_HSI_RX_DATA o CP_TXD_1.8V --> PMIC:G5(18RNC1) -[?]-> AP:CP_TXD (?:?) --> UART3?: XXnn (check!)[/SIZE]
[SIZE=2]A few of the MAX8997 pins are:[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]Ball Name io Function svc_man_name Path/Connection[/SIZE]
[SIZE=2]-------------------------------------------------------------------------------[/SIZE]
[SIZE=2]J4 18R1 i AP_FLM_RXD (BP)[/SIZE]
[SIZE=2]K3 18T2 o AP_FLM_TXD (BP)[/SIZE]
[SIZE=2]G4 28T1 o AP_FLM_RXD_2.8V (AP)?[/SIZE]
[SIZE=2]L4 28R2 i AP_FLM_TXD_2.8V (AP)?[/SIZE]
[SIZE=2]G5 18RNC1 i CP_TXD_1.8V (BP)[/SIZE]
[SIZE=2]G3 18TNC2 o CP_RXD_1.8V (BP)[/SIZE]
[SIZE=2]H4 28TNO2 o ??CP_TXD (AP) UART3??[/SIZE]
[SIZE=2]H6 28RNO1 ? ??CP_RXD (AP) UART3??[/SIZE]
[SIZE=2]? ? A/S1 o AP_RXD (AP) UART2 mysterious, perhaps doesn't exsist[/SIZE]
[SIZE=2]? ? A/S1 i AP_TXD (AP) UART2 mysterious, perhaps doesn't exsist[/SIZE]
[SIZE=2]K4 28RCOM2 A/S1 i IF_RXD MUX[/SIZE]
[SIZE=2]H5 28TCOM1 A/S1 o IF_TXD MUX[/SIZE]
[SIZE=2]G1 DN1 io PMIC_DP U709:FSA3200:7[/SIZE]
[SIZE=2]H1 DP2 io PMIC_DM U709:FSA3200:6[/SIZE]
[SIZE=2]L1/L2? ? ? PMIC_ID U709:FSA3200:12[/SIZE]
[SIZE=2]G6 CB USB select?[/SIZE]
[SIZE=2]J1 COMN1[/SIZE]
[SIZE=2]K1 COMP2 Step-Up Compensation Node for OUT2 Step-Up Converter[/SIZE]
[SIZE=2]D5 COMP [/SIZE]
[SIZE=2]L1 UID [/SIZE]
[SIZE=2]L2 IDB [/SIZE]
[SIZE=2]L3 BOOT [/SIZE]
[SIZE=2]H3 UT1 [/SIZE]
[SIZE=2]J3 UR2 [/SIZE]
[SIZE=2]H2 SL1 [/SIZE]
[SIZE=2]J2 SR2 [/SIZE]
[SIZE=2]E5 PWRON Baseband Wakeup ?[/SIZE]
[SIZE=2]E6 JIGON[/SIZE]
[SIZE=2]E7 SCL i I2C SCL[/SIZE]
[SIZE=2]F7 SDA i I2C SDA[/SIZE]
[SIZE=2]K2 MIC_USB[/SIZE]
However, there are a few questions I have not been able to resolve. I really need help with this! They are:
Where is the other USB "switch" chip, as shown in the block diagram below?
What is U504 doing?
What are the other pins (not labelled above) on the PMIC (U501) doing?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
I don't know how to add that into the hack pack... can you put it into a pdf or word document?

USB DAC works, but no audio input. Need Alsa guru!

Thanks to the trinity kernel, morfic and a very nice FiiO E10 USB dac, I have excellent audio quality in my car through my dash mounted nexus 7. It has worked flawlessly for weeks without issue.
Unfortunately as morfic pointed out in his kernel thread, with a USB DAC enabled and his asound.conf changes, we destroy the audio input. No IP phone calls/ video recording... they crash since the audio input configuration is messed up.
We need to merge the asound.conf USB DAC output changes with the stock asound.conf. I've tried all permutations of this that I think make sense and I've had zero luck. Heck, if I go back to the stock asound.conf my USB DAC still works and audio input is still broken.
If there are any alsa gurus out there, please speak up and give us 10 minutes of your time. I've spent hours on this, reading alsa docs and trying asound.conf changes.
Not sure if it matters, but I'm using the stock JB rom with just the upgraded trinity kernel.
for reference: the stock asound.conf is:
#
# ALSA library configuration file
#
pcm.!default {
type plug
slave {
pcm "hw:tegrart5640,0"
channels 2
rate 48000
}
}
ctl.!default {
type hw
card tegrart5640
}
pcm.music {
type plug
slave {
pcm "hw:tegrart5640,0"
channels 2
rate 48000
}
}
pcm.aux {
type hw
card "Tegra"
device 3
}
pcm.voice {
type plug
slave {
pcm "hw:tegrart5640,2"
channels 1
rate 8000
}
}
pcm.aux_plug {
type plug
slave.pcm "aux"
}
pcm.music_and_voice {
type asym
playback.pcm {
type plug
slave.pcm {
type multi
slaves.a.pcm music
slaves.b.pcm voice
slaves.a.channels 2
slaves.b.channels 1
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
}
route_policy duplicate
}
capture.pcm "voice"
}
Click to expand...
Click to collapse
The updated changes from morfic are:
pcm.usbdac {
type hw;
card Audio;
}
ctl.usbdac {
type hw;
card Audio;
}
pcm.!default usbdac
Click to expand...
Click to collapse
Thanks!
did you have a look at this yet?
http://rootzwiki.com/topic/30129-kernel-nexus-7-cifsnfsusb-otg-gpu-oc-cpu-oc-072912/
Tried that kernel, same results as trinity.
I'm pretty well stuck in the same situation. My main reason for wanting usb audio is for connecting a better mic to the nexus 7.
I tried some variations in the asound.conf with no impact either.
It is supposed to be asound.conf in /system/etc correct? I ask, because I completely emptied the file, and everything still works exactly the same. Normal mic and internal sound, and usb sound out after a reboot.... my asound.conf still currently sits empty.
Maybe this information will help get things started. Here's stuff from my /proc/asound directory with the usb device plugged in.
Code:
sh-3.2# ls -a /proc/asound/
. Tegra card2 hwdep timers
.. card0 cards pcm version
Device card1 devices tegrart5640
Code:
sh-3.2# cat /proc/asound/devices
2: [ 0- 3]: digital audio playback
3: [ 0] : control
4: [ 1- 0]: digital audio playback
5: [ 1- 0]: digital audio capture
6: [ 1] : control
7: [ 2- 2]: digital audio playback
8: [ 2- 2]: digital audio capture
9: [ 2- 1]: digital audio playback
10: [ 2- 1]: digital audio capture
11: [ 2- 0]: digital audio playback
12: [ 2- 0]: digital audio capture
13: [ 2- 0]: hardware dependent
14: [ 2] : control
33: : timer
Code:
sh-3.2# cat cards
0 [Tegra ]: HDA-Intel - HDA NVIDIA Tegra
HDA NVIDIA Tegra at 0x70038000 irq 113
1 [Device ]: USB-Audio - USB PnP Sound Device
C-Media Electronics Inc. USB PnP Sound Device at usb-tegra-ehci.0-1, full speed
2 [tegrart5640 ]: tegra-rt5640 - tegra-rt5640
tegra-rt5640
Code:
sh-3.2# ls Device
id pcm0c pcm0p stream0 usbbus usbid usbmixer
Code:
sh-3.2# cat pcm
00-03: HDMI 0 : HDMI 0 : playback 1
01-00: USB Audio : USB Audio : playback 1 : capture 1
02-00: RT5640 PCM rt5640-aif1-0 : : playback 1 : capture 1
02-01: SPDIF PCM dit-hifi-1 : : playback 1 : capture 1
02-02: BT SCO PCM dit-hifi-2 : : playback 1 : capture 1
More information.
Code:
bash-3.2# lsusb
Bus 002 Device 001: ID 1d6b:0002
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 002: ID 0d8c:0139
First device is present in lsusb before I plug the usb device in. Dmesg seems to show the second as the host controller..
Some dmesg output right after plugging in.
Code:
[ 586.426776] usb 2-1: new full speed USB device number 2 using tegra-ehci
[ 586.473084] usb 2-1: New USB device found, idVendor=0d8c, idProduct=0139
[ 586.473493] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 586.473712] usb 2-1: Product: USB PnP Sound Device
[ 586.474095] usb 2-1: Manufacturer: C-Media Electronics Inc.
[ 586.499589] input: C-Media Electronics Inc. USB PnP Sound Device as /devices/platform/tegra-ehci.0/usb2/2-1/2-1:1.3/input/input4
[ 586.500399] keychord: using input dev C-Media Electronics Inc. USB PnP Sound Device for fevent
[ 586.500701] generic-usb 0003:0D8C:0139.0002: input: USB HID v1.00 Device [C-Media Electronics Inc. USB PnP Sound Device] on usb-tegra-ehci.0-1/input3
This is my first time participating in any forum. I've always been an irc geek. So I'm not entirely sure how to promote an interest in this topic, or if we need a new specific thread. Also.. excuse any newb annoyances on my part as I adjust...
I'm pretty well willing to try anything with my nexus 7. No consern for loosing data or starting from scratch... any rom, kernel, tweak.. if anybody has suggestions or want me to try/test something.
I have a feeling this is configuration related, maybe not asound.conf... I messed with audio_policy.conf no luck, but it did have an impact on my input when I tried a few input lines similar to top lines for internal, but in USB section at bottom. I ended up with a continuous buzz on input, and it was still buzzing on input when I pulled the USB device. No change in wave form when tapping mics.. so no good, but I was excited that I had an impact on the input channel at all. Might just be bad lines I used.. was just guessing at config based on rest of file.
I'll try to remember to post what I put in audio_policy.conf later.
Wish I had aplay and arecord to test each device. Tried tinycap with no luck.
Sent from my Nexus 7 using XDA Premium HD app
Glad someone else is excited about getting this working!
I believe you can grab alsa binaries from the play store for free. I played with it a few weeks back and the alsa tools seem to work.
I haven't seen those? I was looking for alsa tools for android tools the other day and could only come up with tinycap, tinymix, and tinyplay with a libtinyalsa.so on another forum... but they aren't utilizing the right devices when I give them device numbers and only throw errors. If you could point me at the tools, that'd be cool.
Do you think we need to start a thread on a different part of the forum? like in a development section? or... ionno...
I honestly don't really know how this works. I am seeing the importance of threads vs just sharing info on irc as I get older... and if/when I do a little bit of work towards something or digging of information.. I do like that it gets passed along to somebody else, is discoverable by others using google, and that it is a contribution to the geek community that I have always been proud to consider myself a part of.
I think here is a good place to start. Someone out there definitely knows exactly how to do this and the more exposure the better. XDA is awesome for that.
As per your previous question, search for alsa mixer in the market. You'll need to install busy box as well.
Can you post your audio_policy.conf changes? I'll try to fiddle with it as well.
OP, the problem that I'm seeing that you now have two default devices, i.e. two definitions of "pcm.!default" (BTW, the exclamation mark overrides built-in defaults) and the latter one takes precedence, I think. Hence, any application using the sound card using the default parameters, as most apps (minus built-in ones) would probably do will grab your DAC which does not have a microphone input. If you had a DAC+ADC you can make this probably work fairly easily. I'm not an ALSA "guru", but someone who has had quite some exposure. I hesitate giving you blind suggestions, but a good place to start is the asoundrc documentation on the alsa-project web pages (can't post links yet)
You may want to look into setting up "multi", "dmix", and/or "dnsoop" devices that combine your DAC with the built-in one. Good luck.
Thanks for the pointers. I've read through much of that documentation but I'll be honest I really got lost. I'll try it again.
I only have one pcm.!default definition in each config file. I do not append the changes from morfic, I replace the entire file.
I'm a little concerned that as we've discovered, we can delete the asound.conf file or put completely invalid junk in it and we are unable to change the behavior... I don't want to spend hours perhaps crossing over a correct asound.conf only to realize something else was preventing my configuration from being successful...
Right now, I'm just trying to get any change from asound.conf to reflect the audio configuration of android. Maybe asound.conf is ignored if there is an invalid config and I've yet to put a valid config?
I'll post the audio_policy.conf tomorrow when I get to work. I'll have a little extra time, I really just based what I added on how the entries above it looked... I'm probably way off.
Also... I do honestly believe the asound.conf has no impact on the audio at all... Mine's still empty... works the same...
papatel said:
I think here is a good place to start. Someone out there definitely knows exactly how to do this and the more exposure the better. XDA is awesome for that.
As per your previous question, search for alsa mixer in the market. You'll need to install busy box as well.
Can you post your audio_policy.conf changes? I'll try to fiddle with it as well.
Click to expand...
Click to collapse
The changes I made, just the bottom usb section of audio_policy.conf. I left everything above it the same.
Code:
usb {
inputs {
usb_accessory {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_IN_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_USB_ACCESSORY
}
usb_device {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_IN_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_USB_DEVICE
}
}
outputs {
usb_accessory {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_USB_ACCESSORY
}
usb_device {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_USB_DEVICE
}
}
}
}
Like I said, this did nothing except create a continuous buzz on the input channel, even after checking it with usb device in, and then pulling the device and checking again without the device.... still buzzing... but as I said, I was just pleased that I managed to find something that actually had an impact on the input channel at all. Maybe with a little more fiddling, the right settings, maybe this is the file to focus on... until somebody more informed tells me otherwise.. lol.
---------- Post added at 03:43 PM ---------- Previous post was at 03:35 PM ----------
ah... sorry. There's an extra close bracket, it's cause I pasted the whole bottom of the file, and that last bracket closes off the configuration for the entire file, not just the usb section. Just noticed that and didn't want anybody to get messed up or confused... just make sure each section is opened and closed I guess when you're done editing.
Just in case anybody is interested, I just built the necessary kernel modules (and the snd-aloop device that we may need to get this to work) for the stock kernel (3.1.10-g52027f9) to allow USB audio without having to install a custom kernel. The modules load fine.
I currently don't have access to my USB sound card to test further, but I'll play around with it once I get it back.
(I'm not sure I can attach files yet, so PM me if you are interested.)
chdloc said:
Just in case anybody is interested, I just build the necessary kernel modules (and the snd-aloop device that we may need to get this to work) for the stock kernel (3.1.10-g52027f9) to allow USB audio without having to install a custom kernel. The modules load fine.
I currently don't have access to my USB sound card to test further, but I'll play around with it once I get it back.
(I'm not sure I can attach files yet, so PM me if you are interested.)
Click to expand...
Click to collapse
That sounds good, I'd be willing to give it a shot. I will hit you up when I have a little time. Perhaps you could consider hosting them on dropbox or something similar. I find myself using it a lot these days.
Any update on this? Getting my N7 prepped for car use.
Have it set up so I can do full USB OTG with USB audio through a DAC, and charge simultaneously (I can even run the N7 in this configuration with the battery connector disconnected). I thought this was the hard part.
But with this installation going into my car, having the ability to control functions with my voice will be very critical! So... has anybody successfully enabled hooking a microphone up to the DAC for audio-in to their Nexus 7?
MetalMan2 said:
Any update on this? Getting my N7 prepped for car use.
Have it set up so I can do full USB OTG with USB audio through a DAC, and charge simultaneously (I can even run the N7 in this configuration with the battery connector disconnected). I thought this was the hard part.
But with this installation going into my car, having the ability to control functions with my voice will be very critical! So... has anybody successfully enabled hooking a microphone up to the DAC for audio-in to their Nexus 7?
Click to expand...
Click to collapse
I've been juggling a lot of things lately and can't even get to my "GOOD" pc... but as soon as I get myself organized, I'm jumping right back into trying to solve this.
I really hope some other people are interested enough to be working on it still too.
It's a pretty important issue to me as a musician... I'm thinking the N7 could be the first android device to do some light multi-tracking on... Not looking for a pocket studio, but it sure would be nice to sit down with just my guitar and a good mic hooked to the n7 to work out some ideas.
So, I compiled the modules for usb-audio for my tf101 too, loaded them into kernel and played some noise via aplay. Then I checked lsof and noticed that the sound is handled by the "mediaserver" process, then I went to grep the android sources.
I found that android has hardcoded it's audio devices files, so it's pretty hard to make usb audio work with asoundrc (i.e. impossible), but also I noticed that there is actually support of usb audio (that has hardcoded to the card number 1 though, but this is something and better than nothing) and the system has to be built with the QCOM_USBAUDIO_ENABLED flag to get this work.
Who will test it first?
hm. this code is specific for the qcom hardware... so need dive deeper to the code...
jbinary said:
So, I compiled the modules for usb-audio for my tf101 too, loaded them into kernel and played some noise via aplay. Then I checked lsof and noticed that the sound is handled by the "mediaserver" process, then I went to grep the android sources.
I found that android has hardcoded it's audio devices files, so it's pretty hard to make usb audio work with asoundrc (i.e. impossible), but also I noticed that there is actually support of usb audio (that has hardcoded to the card number 1 though, but this is something and better than nothing) and the system has to be built with the QCOM_USBAUDIO_ENABLED flag to get this work.
Who will test it first?
Click to expand...
Click to collapse

Hacking & Reverse Engineering of Tata Sky HD STB ( Technicolor : DSI729TAT )

I have a "Tata Sky HD" Set-top Box and I was about to throw this in garbage but before I want to know what is happening under the hood.
I search on internet and I found nothing except this. I'm noob so sorry for if say something silly.
I found this specifications.
Product : TATA SKY HD
Original Maker : Technicolor
Product Model Number : DSI729TAT
Chipset : STiH237 BHKB B3L
Type : ST40 -32 BIT
Architecture : RISC
RAM : 2GB [ SK Hynix H5TQ2G63FFR H9C
Storage : 1GB [ Spanison ML01G100
Power : 12v DC
Software: busybox 1.18.2 , mtdwrap, uclibc, Linux Kernel 2.6.32.59_stm24_0211, ST drivers: embx.ko, embxmailbox.ko, ics.ko, ics_user.ko, lxload.ko, mme.ko, mme_user.ko, LZO Decompression Library 2.03, Decompression Utility
PORTS : 1 HDMI 1.2/1.3/1.4, 1 USB 2.0, SAT-IN & 2 Audio 1 Video Out , 1 Optical S/PDIF (for Dolby Digital Plus Audio ), 1 Digi Card.
I Found 1 UART PORT Which would be used while extraction of Firmware.
AFTER SOME REASEARCH I FOUND THAT IT HAS SIMILAR TO ARM-CORTEX-A9 AND MALI-400 GPU. (MAYBE I'M WORNG)
IDEA : It has a a Good processor and ram which can run as raspberry-pi os.
so we can repurpose it as a Media Center, Gaming Console, NAS, Smart Home, Small Server or a Mini Computer.
storage is low so we have to add some storage. I'm not sure how this is possible. except swapping the NAND flash Chip.
GOAL 1 : Extract Firmware and Extract Paid Decryption key which is use to verify the sat-in signals. ( a stb which don't required subscription to watch any tv channel )
i think they modified the software which capture the unencrypted signal and if we have a signal receiver then we are good to go. but for big companies wants to earn money so they added these barriers which needs decryption. and if the satellite is sending encrypted signal then we need to find the key. ( i know it's hard that's why we are here. I'll love to hear you thoughts on these)
GOAL 2: Change the Firmware and install Linux.
Goal 3: Find a way to use it as media server with increased storage and add a wireless module for WIFI access.
I'm not sure it is possible or not. but i think its possible. just think about it a small hardware can collect signal from satellite and decrypt the signals in HD with Dolby HD audio. we just need to find a way to access this.
I SHARED MY IDEA AND I DON'T KNOW MUCH ABOUT THESE.
PROBLLY I'M GOING TO ACCESS THIS WITH UART INTERFACE AND TRYING TO ACCESS THE BOOTLOADER.
OR MAYBE DESIGN A CUSTOM KERNAL.
I'M SEARCHING FOR COMPATIBLE FIRMWARE WHICH I CAN MODIFY AS I NEED.
EXTRA : I FOUND A SIMILAR STB WHICH USED IN RUSSIA "NTV PLUS SET TOP BOX" HAS SIMILAR PROPERTIES LIKE TATASKY HD BUT WITH EXTRA I/O PORTS.
THANK YOU. IF YOU HAVE ANY ADDIONAL IDEA THEN I'LL LOVE TO HEAR THAT.
Links Used For Gathering Information
Chipset : https://www.st.com/en/digital-set-top-box-ics/stih237.html
RAM : https://www.electronicsdatasheets.com/manufacturers/sk-hynix/parts/h5tq2g63ffrh9c
OS information : https://www.technicolor.com/node/1899
Storage : https://www.qdatasheet.com/search.jsp?sWord=ML01G100&page=2&op=i
RISC BASED TOOLS AND APPS : https://www.riscosopen.org/content/downloads/common
This is probably the UART. You will most likely get a shell and U-Boot logs provided that it's not fused-off (ST microcontrollers can have debug interfaces fused off during flashing at the manufacturer)
How to find the pinout:
GND will have continuity with metallic parts of the board (heatsinks, HDMI ports, etc)
VCC will measure 1.8-5V DC depending on logic level
RX will not measure very much voltage
TX will go crazy during boot on an oscilliscope.
Try baudrate 115200 8n1
$cronos_ said:
This is probably the UART. You will most likely get a shell and U-Boot logs provided that it's not fused-off (ST microcontrollers can have debug interfaces fused off during flashing at the manufacturer)
View attachment 5877483
How to find the pinout:
GND will have continuity with metallic parts of the board (heatsinks, HDMI ports, etc)
VCC will measure 1.8-5V DC depending on logic level
RX will not measure very much voltage
TX will go crazy during boot on an oscilliscope.
Try baudrate 115200 8n1
Click to expand...
Click to collapse
Well i don't have oscilloscope yet, soon I will try your guide, thanks for guidance. I will try to update upcoming experiments.
dyal96 said:
IDEA : It has a a Good processor and ram which can run as raspberry-pi os.
so we can repurpose it as a Media Center, Gaming Console, NAS, Smart Home, Small Server or a Mini Computer.
storage is low so we have to add some storage. I'm not sure how this is possible. except swapping the NAND flash Chip.
GOAL 1 : Extract Firmware and Extract Paid Decryption key which is use to verify the sat-in signals. ( a stb which don't required subscription to watch any tv channel )
i think they modified the software which capture the unencrypted signal and if we have a signal receiver then we are good to go. but for big companies wants to earn money so they added these barriers which needs decryption. and if the satellite is sending encrypted signal then we need to find the key. ( i know it's hard that's why we are here. I'll love to hear you thoughts on these)
Click to expand...
Click to collapse
I think we can utilize the usb port on the back to add the external storage, as the usb port is used for storing the TV recording (as far as I can recall), and for the uart part, we can also use it for accessing root shell in the initial step, to figure out the operation method and framework.
I don't have any idea about the encryption keys, it would be cool if there's a way for that.
I have the same STB, would love to repurpose the old box, what's your progress on this so far ?
If you have a multimeter, you can check if the pins are for UART, RX voltage would be very low, TX voltage would be fluctuating upon boot, check continuity for GND with any grounded part like the HDMI port shield or the AV port silver port, VCC would be 3.3 or 5 volts

Categories

Resources