Fingerprint Sensor - Nexus 6P Q&A, Help & Troubleshooting

Hi ,
I've been trying to re-use the fingerprint sensor on the Nexus 6P as a means of prototyping some spi sensors. I have disabled both SPI buses 1 and 5 in the dts and disabled the SPI context hub drivers. The issue is that the fingerprint scanner is still operational. Does anyone know how to determine what SPI bus is being used for the fingerprint sensor? and what pins so I can reassign it to be used as a general SPI bus or QUP SPI bus?
Kelly

Question Asked in the right place. https://plus.google.com/share?url=http://forum.xda-developers.com/showpost.php?p=67639727 #1303
Thread closed.

Related

Using a GPIO to transmit FM music

Could this be done with a nook? More info
http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter
The code that handles interacting with the GPIO pins in the link you provide is specific to the Raspberry PI. From the link: "It uses the hardware on the raspberry pi that is actually meant to generate spread-spectrum clock signals on the GPIO pins to output FM Radio energy."
If the GPIO hardware on the NST can do something similar, a knowledgeable person could potentially port the code. Unfortunately, as far as I know, the only GPIO pins on the NST are the power and nook "n" buttons. This means that to get it to work, you'd probably have to open up your NST case and solder a couple wirers, disabling the power and "n" buttons. Not ideal.
Basically, no. That's not really possible on the NST, as described in the article. It might be possible with some other approach though (such as with USB host)
Ok, the questions is, is there PLL in the nook that can be used in the same way its being used in the Raspberry pi?
That kind of hack requires something that you can deterministically control,
like a microprocessor without an OS.
There are probably more GPIOs that you can snarf if you can connect to them.
The other four hard keys work off the matrix scanner.
That could undoubtedly be expanded.
There are also a few UARTs that are unused.
I'm not sure how many (at least one does) of them appear on (non-existent) connector J163.
(I just soldered in connector J163 on my Nook).

Accessing the PWM pins on MediaTek-based devices

Hello,
The mediatek Application processors, like MT6572, has some PWM channels (up to 4 in some versions). I believe they are used for light sensor, voice/sound etc.
I believe that, as such, there exist a dedicated hardware mechanism that generate these pulse width modulated signals. I know that we can do it in software, but to use software you need no interruption etc.
Now, to use these channels we need two things:
1) Software access: I believe there is no API that provide direct PWM channel access.
2) Physical access: not all phones will have these pins available. Perhaps one need to unmount the chip to physically access the pin.
Do anyone has any ideas/comments/suggestions in this regard?
I am basically an electrical engineer and do not have much Android knowledge.
Thanks in advance.

Spare GPIO Pins?

I am looking for a tablet that I can hack for some home control applications. In particular this device looks like a good candidate as it is about the same cost as a WiFi thermostat and far more capable.
So 2 basic questions... 1: Are there any underutilized GPIO pins that were broken out of the CPU BGA that I can access with a fine tipped solering iron? This is commonly done so that in circuit board tests can validate that there are no solder bridges.
2. Does anyone have a I2C map to know which addresses are utilized, and as an extension to this, know how to make requests on that I2C buss.
I am sorry I know these are very broad questions. I am looking to turn this into a total home control panel including thermostat. So basically for this task I am trying to get GPIO (Preferably 3.3 or 5V) that I can use for some fets to control HVAC, and some I2C lines that I can use to dead-bug in humidity, temp, pressure, ambient light sensors, and IR motion sensor.
I will post a writeup complete with wiring and code if this works out.
P,
neat question, how do i go about getting i2c map? are you working with t53x t33x or t23x ?
hardware hacking would probably be a better section for this, or stack exchange though.
can that be found in kernel source? drivers/i2c/busses/i2c-qup.c or the like?
m

Trying to figure out what my JTAG and UART ports are telling me.

Okay so on my device I have two serial ports. One port is labeled J2 with 4 pin outs that I think is the UART. The seconded port labeled JPEEK3 has 6 pin outs that I think is the JTAG. Here's the problem, they aren't giving me UART and JTAG readings on my multimeter or logic analyzer.
J2 is reading like this.
3.28VGND3.28V3.28V
No data just straight to idling high.
As for JPEEK3 I'm reading this
GND.04V.04V2.95V2.95VGND
On this I'm getting data on all active pins. I tried hooking my JTAGulator up to the device to read it but every time I do the device it's stuck in reset mode.
Anyone got any idea of what these readings mean?
biomedguy said:
Okay so on my device I have two serial ports. One port is labeled J2 with 4 pin outs that I think is the UART. The seconded port labeled JPEEK3 has 6 pin outs that I think is the JTAG. Here's the problem, they aren't giving me UART and JTAG readings on my multimeter or logic analyzer.
J2 is reading like this.
3.28VGND3.28V3.28V
No data just straight to idling high.
As for JPEEK3 I'm reading this
GND.04V.04V2.95V2.95VGND
On this I'm getting data on all active pins. I tried hooking my JTAGulator up to the device to read it but every time I do the device it's stuck in reset mode.
Anyone got any idea of what these readings mean?
Click to expand...
Click to collapse
The voltage levels for the UART are OK.
UART "J2"
3.28V GND 3.28V 3.28V
It could match the signals:
VCC, GND, TxD, RxD
For UART you need to know the communication baud rate and other connection parameters. You also need to know the communication protocol at the UART layer.
The voltage levels for JTAG are OK.
JTAG "JPEEK3"
GND .04V .04V 2.95V 2.95V GND
It could match the signals:
GND, CLK, DIO, RST, VCC, GND
Which is JTAG in SWD mode.
Maybe "JPEEK3" is SWD?
For full JTAG you have this pins on "JPEEK3":
TDI, TCK, TMS, TDO, RST, VDD, GND
If RST is missing in JTAG, the problem is to get the target into debug mode if the targer has its own power supply.
Appreciate the help, never considered the pinouts for JPEEK3 to be SWD.
The board doesn't technically have it's own supply, the power comes from other boards that it's connected to, in order to power on. Should I figure out a way to power it on with a power bank in that case?
As for the UART, I have a DSLogic Plus, should I just test multiple baud rates and see what happens? I'm not sure what other protocols and communications to look for other then that.
biomedguy said:
Appreciate the help, never considered the pinouts for JPEEK3 to be SWD.
The board doesn't technically have it's own supply, the power comes from other boards that it's connected to, in order to power on. Should I figure out a way to power it on with a power bank in that case?
As for the UART, I have a DSLogic Plus, should I just test multiple baud rates and see what happens? I'm not sure what other protocols and communications to look for other then that.
Click to expand...
Click to collapse
It is a question of whether the board is powered from an external source or only from the JTAG programmer (SWD). For JTAG / SWD, it is better if the target is powered only from the JTAG programmer (SWD), unless it is required to power other peripherals and cover power requirements. For JTAG (SWD), there must be direct JTAG (SWD) programmer support for a specific target (MCU), debug mode, Flash write, and so on. Each MCU has a different protocol and must be directly supported by the JTAG (SWD) programmer or control software. For JTAG (SWD) communication, you can change the communication speed arbitrarily (it is not fixed), if it fails to connect to the target (MCU), you can reduce the communication speed.
For the UART, the communication speed (connection) is precisely determined in advance, you must know it or analyze the output data (timing of given bytes using DSLogic Plus ) if it is sent natively on the UART interface (boot log). The protocol on the UART interface also needs to be known if it is not a shell terminal output.
Well hot dog, that's a lot of solid info. Appreciate it, really.
I just got a flyswatter2 in the mail, hopefully that'll be compatible with the AT91 Atmel MCU on the board, apparently it's using an ARM7 processor. Good to know to not power on the board like I have been with the JTAGulator and DSLogic.
You wouldn't happen to know how to locate the configuration memory for the FPGA, now would you? I'm talking with my cousin whose an EE major, and he was asking for it. I'm not even sure how that'll help with getting into the JTAG.
biomedguy said:
Well hot dog, that's a lot of solid info. Appreciate it, really.
I just got a flyswatter2 in the mail, hopefully that'll be compatible with the AT91 Atmel MCU on the board, apparently it's using an ARM7 processor. Good to know to not power on the board like I have been with the JTAGulator and DSLogic.
You wouldn't happen to know how to locate the configuration memory for the FPGA, now would you? I'm talking with my cousin whose an EE major, and he was asking for it. I'm not even sure how that'll help with getting into the JTAG.
Click to expand...
Click to collapse
Atmel AT91 MCU is supported by OpenOCD. Flyswatter2 works with OpenOCD. From the FT2232H chip used by Flyswatter2, I made a programmer for SPI EEPROM [https://geekdoing.com/threads/unbrick-mi-band-3-with-without-nfc.700/]
I have never used Field Programmable Gate Arrays (FPGA), always only MCUs, I will not advise you in this area. Unfortunately. FPGA arrays have configuration memory as an external memory chip.
The JTAG programming interface is also used for FPGA arrays. FPGA and MCU are completely different technologies. Custom MCUs can also be created using an FPGA array.

Building a Raspberry Pi based A/C controller

We just got into a new house and the heating and cooling are done using an Atlantic R32 duct type unit. Since it is blowing in all the rooms at the same time and the fact that the wired controller with the sensor is right underneath one of the vent, we have a lot of trouble getting the whole house to a satisfying temperature.
It would be a lot of money to get a brand new system with a better room temperature control, so I was thinking I could maybe use a Raspberry Pi or Arduino instead of the wired controller to create a web interface that I could use from my phone and connect multiple sensors in order to have the temperature in each room.
With the documentation that is provided for technicians, we can see that that the wiring is made of three cables, a 12V, a COM and a signal cable. I would have expected a RX and TX cable along the 12V and COM... So I'm a bit at a loss at how to start here. It seems like the communication goes both ways since they mention a discovery phase for the remote control.
I would like to know if someone has experience with hacking this kind of device and what I could do to retrieve data frames or even discover the sampling rate ?

Categories

Resources