How can I get an i2c touch device work on linux? - linux

I am using a touch screen which has gt9271. It is connected via i2c.
Whats wrong
It just dont show up in /dev/input. There is only a event0, which is the keyboard according to what dmesg shows. Document says it should show up as event1, but it did not.
Envirounment
It is a STM32MP157 board runnning Debian Stretch based linux, from the manufacture.
uname -a shows Linux PanGuBoard 4.19.43 #1 SMP PREEMPT Thu Aug 22 17:02:06 UTC 2019 armv7l GNU/Linux
What did I check
I saw its driver in linux kernel 4.19 source.
I decompiled my dtb file and confirmed it is configured.
I also checked dmesg and found nothing about gt9271 in it.
Since it is a STM32MP157 board, I tried the system based on stlinux which is also from the manufacture.
The /dev/input/event1 shows up and works fine. dmesg shows its discovery too.
Any advice what I should do or did I miss something important?

Finally I recompiled linux kernel and its modules with the code given by manufacture, and the problem solved.
It turns out that they give me the wrong kernel image which has neither goodix driver compiled nor module support.

Related

Android boots, then goes to black screen. adb shell works

Android emulator boots, but shows black screen thereafter.
adb shell works, connecting to the emulated device and giving root access etc without an issue. I've googled everything I can think of, and tried all sorts of stuff. If you have a suggestion I haven't tried, I'd love to hear it.
Things I've tried:
Delete and reinstall Android studio (basicly, find $HOME | grep -i "android" | xargs rm -rf, though manually so as not to kill my projects)
X86, X86_64, and "armeabi-v7a" ABI's
Turn on/off using host GPU support/emulation
Changing memory amount (1.5, 2, 4GB)
Different API levels (21, 25, 26)
Rotate device's virtual screen to force a redraw
Remove hardware from virtual device (camera)
Creating fresh, brand-new flutter app to run on it.
(app doesn't run.
claims device is "offline" when I try to run it, despite having shell access and connecting with adb just fine)
Swearing a lot.
Phoning a friend.
Hardware I'm running on:
AMD FX(tm)-8350 Eight-Core Processor
32GB RAM
NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)
Linux herb 4.15.0-42-generic #45~16.04.1-Ubuntu SMP Mon Nov 19 13:02:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Xfce4 (I hate gnome & kde and it's stupid useless eyecandy & bloat)
ZFS file system (2TB capacity 653GB w/ 256G Flash drive configured as cache/zlog)
Emulator DOES show the boot screen, either B&W "Android" or fancier google logo depending on the API level. After a few minutes, it goes to a black screen, and refuses to show anything else unless I cold boot it again.
HAXM is not installed. It's not only intel-only, but also windows/mac only, and I'm running linux on an AMD processor.

Ubuntu 16.04.3 intel skylake i915 external monitor not detected

My external monitor, connected via HDMI was working fine but now is not being detected (it says 'No video input'). I'm pretty sure I didn't make any changes to make it stop - it was working on the same setup yesterday.
I'm a pretty new linux user and also don't know much about graphics hardware and drivers. Appreciate any help, I'd like to understand what's going on!
I'm running Ubuntu 16.04.3 kernel 4.10.0-33
lshw -c video gives:
*-display
description: VGA compatible controller
product: Sky Lake Integrated Graphics
vendor: Intel Corporation
physical id: 2
bus info: pci#0000:00:02.0
version: 07
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:124 memory:f0000000-f0ffffff memory:e0000000-efffffff ioport:e000(size=64) memory:c0000-dffff
I've tried booting from grub into kernel 4.8.0 and the monitor still wasn't detected.
I've also tried to no avail:
sudo apt-get update
sudo apt-get install --reinstall xserver-xorg-video-intel xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg
I've also tried running the Intel graphics update tool and this also hasn't solved anything.
EDIT: It seems like I get the 'No video input' probelm if I plug in the HDMI cord before the computer has finished booting.
Pretty much the only answer one can give here based on the available information is, try checking the display cables, and, if that doesn't help, file a bug. Debugging display problems like this can be fairly involved, with several cycles of requesting and providing more information. That doesn't really work all that well here.
The alternatives for filing the bug are Ubuntu Launchpad and drm/i915 upstream. Upstream has the best knowledge about the driver and the hardware, but, depending on the issue, you might be expected to build and run the userspace components or the kernel from upstream git repositories.
I come across the problem and solve it with exactly the same card (i had same lshw -c video) by searching the NVIDIA X-Server settings (search inside apps) on my Ubuntu 16 LTS and activate the NVIDIA drivers for this card (I have a NVIDIA GEFORCE GTX)
After i log out and i have a bad errors display and i was blocked " this computer is running in low display mode" .
I just switch off the computer and restart it...and taatatatat HDMI was working and was able to display on my external Sansumg 27''
I had the exact same issue as OP. lshw not showing HDMI port, nada. Reinstalling xserver* did not work either.
May the gods of stack overflow smile upon you for that EDIT line, because plugging only after boot was complete, it did work for me as well.
This is quite interesting, as I am running 20.04. This issue came out of nowhere, just turned on the computer and voila, it was not working. There had been no updates, no changes that could affect this during previous session.
Would love to know if someone else has bumped into this problem.

Arch Linux installation: This kernel requires an x86-64 CPU, but only detected an i686 CPU

I want to install Arch Linux on my old HP Pavilion zv5000 (which should have a Pentium 4 CPU).
I was not sure about which version was right for me, between x86-64 and i686, so I chose the archlinux-2017.03.01-dual.iso file on the download page of one of the Arch Linux mirror sites (for example, this mirror). I tried the "dual" version because I was not able to extract archlinux-bootstrap-2017.03.01-i686.tar.gz nor archlinux-bootstrap-2017.03.01-x86_64.tar.gz.
But now, after I burned the ISO image on a CD, booting from the live CD and trying to install Arch gives me:
This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.
Why is it impossible to extract the .tar.gz files? I tried from two or three mirrors but trying to extract it with tar xzf gives me write permission errors.
Also, what is the "dual" ISO image really? Maybe my mistake was here.
[*] Yes, I am totally noob :)
I faced the same problem. Actually dual iso means you can choose either 64 or i86 when booting. And it was true until March 2017. Starting from March i686 version is not supported anymore.
When I downloaded iso of 2016 everything worked fine.

How can I write a driver for an asus trackpad on linux?

I bought a laptop and installed Linux on it and the trackpad is now not working but it was on Windows. There is no linux driver for it and I thought this could be a good project to write one.
I have read and implemented tutorials on device drivers for simple things (turning on an led on a pandaboard) but I have no idea where to start here. Related questions pointed to commands like modprobe -r psmouse and it seems the trackpad is not seen at all.
Any idea ? the laptop is : Asus R409C.
A temporary fix is to boot with "psmouse.proto=bare" on the kernel cmdline.
$ sudoedit /etc/default/grub
Change GRUB_CMDLINE_LINUX_DEFAULT to add psmouse.proto=bare at the end, and save your modifications.
Then:
$ sudo update-grub
And finally reboot.
i think linux input subsystem can be used to write driver for touchpad. Exact details need to be considered. But most of the input devices can be integrated using input subsystem.

Brother QL-720NW, printing labels using CUPS & Ubuntu

I'm trying to get my Brother QL-720NW label printer working from an Ubuntu server. I'll briefly describe the process so far, and where I'm stuck.
First I installed CUPS and LPR and cupswrapper drivers from Brothers website, and now my QL-720NW shows up in the CUPS web interface. I set the default media size to fit my label(29x90mm). I clicked "Test print page" on the QL-720NW and it says "Sending data to printer." a few seconds, and then disappears and changing state to Idle, Accepting Jobs, Not Shared, Server Default. But my printer does nothing, not even a led light blinking.
My cups/error_log looks like this. I have googled the AddProfile failed error, and found someone suggesting it is a bug in Ubuntu 12.10, but I've also read that Arch users have had the same error, so I'm not sure. And the Uknown directive SystemGroup error is just a harmless error according to this site.
E [23/Apr/2013:12:20:47 +0200] Unknown directive SystemGroup on line 18 of /etc/cups/cupsd.conf.
W [23/Apr/2013:12:20:47 +0200] AddProfile failed: org.freedesktop.DBus.Error.UnknownMethod:No such interface `org.freedesktop.ColorManager' on object at path /org/freedesktop/ColorManager/devices/cups_QL_720NW
When I run lpstat -tl after trying to print a test page or a text file using lp test.txt, it says it's sending data to the printer. But the printer does nothing.
# lpstat -tl
scheduler is running
system default destination: QL-720NW
device for QL-720NW: usb://Brother/QL-720NW?serial=000K2Z658058
QL-720NW accepting requests since Tue 23 Apr 2013 12:45:56 PM CEST
printer QL-720NW is idle. enabled since Tue 23 Apr 2013 12:45:56 PM CEST
Sending data to printer.
So, does anyone have any suggestions where to go from here? Is there any other log files that might give me a clue of whats wrong?
I was able to get 64-bit Ubuntu working with the official QL-720NW drivers using their work-around:
http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/faq_prn.html#f00081
apt-get install cups cups-bsd
apt-get install ia32-libs
dpkg -i --force-architecture ql720nwlpr-1.0.1-1.i386.deb
dpkg -i --force-architecture ql720nwcupswrapper-1.0.1-1.i386.deb
cp /usr/lib/cups/filter/brlpdwrapper* /usr/lib64/cups/filter
cp /usr/lib/cups/filter/brlpdwrapper* /usr/lib64/cups/filter
My Linux distro (uname -a):
Linux 3.2.0-40-virtual #64-Ubuntu SMP Mon Mar 25 21:42:18 UTC 2013
x86_64 x86_64 x86_64 GNU/Linux
I finally got it to print on my Ubuntu system. The problem seemed to be that the drivers from Brother is not 64bit compatible, and I was using a 64bit version of Ubuntu.
I tried on Debian first, after learning from #sampi that he got it to work on Debian. When installing the drivers I got an error message, which I didn't get on Ubuntu, suggesting a 32/64bit issue. So after installing the ia32-libs packages it worked on Debian. I then tried installing a 32bit version of Ubuntu on my server, and now the printer did work.
But I can only get the printer to work through wifi(both on Debian and Ubuntu). No success with the USB cable, but that's not an issue for me.
I have used a QL-720NW with Debian since September. Using first the QL-580N driver & later, once it got released, the QL-720NW driver. Prior to buying the printer I did contact brother support who, within a very helpful response, told me that the printer worked as a network printer with the older product's driver, but not over USB.
Given that you do not explicitly state that you need to print via USB, I suggest you try connecting the printer to your network & reconfigure cups to use that connection instead.
FWIW: On Debian testing, I just installed the drivers from the Brother site (version 1.0.1 for both) and the QL-720nw printed via USB with no issues. I didn't even have to force anything (I already had multiarch installed to support other stupid 32-bit-only software), nor use any workaround. I haven't yet tried to use it on a network.

Resources