Package Details: tty0tty-dkms-git 1.2+46.r62.20221025.81f8aa2-4

Git Clone URL: https://aur.archlinux.org/tty0tty-dkms-git.git (read-only, click to copy)
Package Base: tty0tty-dkms-git
Description: tty0tty Virtual Serial Cable (DKMS and userspace variant).
Upstream URL: https://github.com/freemed/tty0tty
Licenses: GPL2
Conflicts: tty0tty, tty0tty-pts
Provides: tty0tty, tty0tty-doc, tty0tty-pts
Submitter: dreieck
Maintainer: dreieck
Last Packager: dreieck
Votes: 4
Popularity: 0.000012
First Submitted: 2022-06-14 11:09 (UTC)
Last Updated: 2024-01-11 19:17 (UTC)

Dependencies (2)

Required by (1)

Sources (5)

Pinned Comments

dreieck commented on 2024-01-11 19:19 (UTC)

I like to disown since I do not actively use it and I am not familiar with kernel code. @ozz seems to be more familiar.

Anyone wanting to adopt? Please drop me an email and I will transfer ownership to you.

Regards!

Latest Comments

1 2 3 Next › Last »

sulthankarimov commented on 2024-01-12 00:33 (UTC)

thank u @ozz @dreieck, very helpful :)

dreieck commented on 2024-01-11 19:19 (UTC)

I like to disown since I do not actively use it and I am not familiar with kernel code. @ozz seems to be more familiar.

Anyone wanting to adopt? Please drop me an email and I will transfer ownership to you.

Regards!

dreieck commented on 2024-01-11 19:18 (UTC) (edited on 2024-01-11 19:25 (UTC) by dreieck)

I now also added the fixup for Linux >= 6.6. I kept it as two separate patches.

I also have reported this as ↗ an issue to upstream.

ozz commented on 2024-01-11 18:47 (UTC) (edited on 2024-01-11 18:50 (UTC) by ozz)

@sulthankarimov Yes, you have to add the sha256sum or make it skip. You need to remove the old 6.1 patch otherwise they will conflict. The new patch does both at the same time. What I did was replace the linux-6.1-fixup.patch with the contents of what I posted below. Then you can make it skip checksum (or add the checksum).

sulthankarimov commented on 2024-01-11 17:31 (UTC) (edited on 2024-01-11 17:32 (UTC) by sulthankarimov)

the patch failed because of validity error

==> Validating source files with sha256sums...
    tty0tty ... Skipped
    50-tty0tty.rules.arch.patch ... Passed
    linux-6.6-fixup.patch ... FAILED
    modules-load-tty0tty.conf ... Passed
==> ERROR: One or more files did not pass the validity check!

when i try to skip the check, i get another error

==> Starting prepare()...
  -> Applying patch 50-tty0tty.rules.arch.patch ...
patching file module/50-tty0tty.rules
  -> Applying patch linux-6.6-fixup.patch ...
patching file module/tty0tty.c
Hunk #1 FAILED at 210.
Hunk #2 FAILED at 288.
2 out of 2 hunks FAILED -- saving rejects to file module/tty0tty.c.rej
==> ERROR: A failure occurred in prepare().
    Aborting...

the compile succeed when i apply the patch manually, @ozz thank u for the patchs, but it would be nice if the patch can be applied automatically when running makepkg -si

ozz commented on 2024-01-07 02:57 (UTC) (edited on 2024-01-07 02:59 (UTC) by ozz)

You can use this patch instead of the old linux-6.1-fixup.patch one. I can only confirm it works with 6.1.70 and 6.6.9. I did not look to see which exact versions of the kernels changed things. If someone wants to do that it's simply a matter of modifying the LINUX_VERSION_CODE tests in the patch.

diff --git a/module/tty0tty.c b/module/tty0tty.c
index ce4b73b..7ddfcdb 100644
--- a/module/tty0tty.c
+++ b/module/tty0tty.c
@@ -210,8 +210,13 @@ static void tty0tty_close(struct tty_struct *tty, struct file *file)
      do_close(tty0tty);
 }

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,6,0)
+static ssize_t tty0tty_write(struct tty_struct *tty, const unsigned char *buffer,
+         size_t count)
+#else
 static int tty0tty_write(struct tty_struct *tty, const unsigned char *buffer,
          int count)
+#endif
 {
   struct tty0tty_serial *tty0tty = tty->driver_data;
   int retval = 0;
@@ -288,6 +293,9 @@ exit:
 #define RELEVANT_IFLAG(iflag) ((iflag) & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))

 static void tty0tty_set_termios(struct tty_struct *tty,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
+           const
+#endif
            struct ktermios *old_termios)
 {
   unsigned int cflag;

ozz commented on 2024-01-07 02:26 (UTC)

@sulthankarimov It did not install perfectly. Look at the log output more carefully. The reason there are not devices is because the module isn't loaded.

Error! Bad return status for module build on kernel: 6.6.9-arch1-1 (x86_64)

sulthankarimov commented on 2024-01-04 01:07 (UTC)

it's installed perfectly, but i cannot get the /dev/tnt0 ,1 ,2 ,3, is it normal?