Giter VIP home page Giter VIP logo

Comments (8)

Mr-Jiang avatar Mr-Jiang commented on June 23, 2024 1

look this

https://blog.csdn.net/jspping/article/details/131852570?spm=1001.2014.3001.5501

from android-serialport.

xmaihh avatar xmaihh commented on June 23, 2024

Right, cannot open /dev/tty: Permission denied. As mentioned above, #FAQ This library does not provide ROOT permissions, please open the serial port '666' permissions yourself. I think it's because you have broken permissions for that device file.
I suggest you should just double-check if you are have permissions.

See which UARTs are detected in /proc/tty/driver/serial. Lines with uart:unknown meaning: Nothing detected (probably not present).

# cat /proc/tty/driver/serial 
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3

If something is connected and driving the CTS, DSR or CD lines (those are input lines), you can even be sure that something is there... same goes for rx-byte-count.

There is also a command setserial which uses /proc/tty/driver/serial get its data.

# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

You can confirm that this device file is accessible like this.

crw-rw-rw- system   system     4,  64 1970-01-01 08:00 ttyS0
crw-rw-rw- system   system     4,  65 1970-01-01 08:00 ttyS1

from android-serialport.

NikhilUsadadiya avatar NikhilUsadadiya commented on June 23, 2024

Hi @xmaihh
The cat /proc/tty/driver/serial does show two UARTs, so they are already available there as well as the permission is also changed to "rwx" for any user type but still it doesn't work.
Also, the test is done in Android 11 as per mentioned in the title of the issue but generated the permission denied error in android 11 and working in Android version 7 (SDK 25).

The same reference code is tested in a device having Android 7 and the device is not rooted. The device is logging the detected drivers as below:-

  • Found new driver g_serial on /dev/ttyGS
  • Found new driver mtk-uart on /dev/ttyMT

The detection of drivers is done in the older version of Android (7.0 – Nougat) but not detecting the drivers in Android 11 which we need to do. Detection of the driver is possible only till Android SDK version 25 (Android version 7 - Nougat). After Android SDK version 26 (Android version 8.0 - Oreo), it’s not working and generating the permission denied error. I also tried the commands by making the app a system app, but I still, have the same permission issue in Android 11.

Are there any known issues with Android 11?

from android-serialport.

xmaihh avatar xmaihh commented on June 23, 2024

Thank you for sharing @NikhilUsadadiya, I didn't find the proper solution yet, I didn't test in Android 11 environment now.

On an Android 11 device your app only has access to its own files and to general mediafies in public directories. You have options to read the file. Request MANAGE_EXTERNAL_STORAGE in manifest and let the user confirm.

Regards,

X.

from android-serialport.

NikhilUsadadiya avatar NikhilUsadadiya commented on June 23, 2024

Yes, @xmaihh, I have added the request permission in the manifest file also and tried to change the permission and detection of drivers in android 11, but fails to do so. Also, the Request MANAGE_EXTERNAL_STORAGE in the manifest will only allow the user to access the public directories right. It will not allow access or change the value in the root directories right?

from android-serialport.

cagnulein avatar cagnulein commented on June 23, 2024

@NikhilUsadadiya I'm facing the same issue. Did you solve it?

from android-serialport.

bostin avatar bostin commented on June 23, 2024

请问下,这个有啥简单的解决方法不?

from android-serialport.

blankhang avatar blankhang commented on June 23, 2024

https://github.com/Deemonser/AndroidSerialPort

from android-serialport.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.