Skip to content

feat: add Rakuten Kobo Inc. tolino - #367

Merged
M0Rf30 merged 1 commit into
M0Rf30:mainfrom
git-developer:tolino
Oct 8, 2026
Merged

M0Rf30 merged 1 commit into
M0Rf30:mainfrom
git-developer:tolino

Conversation

@git-developer

Copy link
Copy Markdown
Contributor

51-android.rules was tested on Linux Mint 22.3.

Actual model: Tolino Vision 3 HD

Please advise if model string should be part of the comment, or if any of the env variables adb_{fast,mass,mtp,ptp,mtp} should be set.

Looking at the product id ntx_6sl, the device might be compatible to Nook Glowlight 3. See below and Tolino eReaders - enable ADB, root access, stock firmware on XDA for details on the device.

$ adb devices -l
List of devices attached
NNNNNNNN,HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH device usb:3-4 product:ntx_6sl model:tolino device:ntx_6sl transport_id:5

NNNNNNNN is the 8-digit numeric serial number
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH is a 16-character hex id

 lsusb -d 1f85:6052 -v

Bus 003 Device 019: ID 1f85:6052 Rakuten Kobo Inc. tolino
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1f85 Rakuten Kobo Inc.
  idProduct          0x6052 tolino
  bcdDevice           99.99
  iManufacturer           2 Rakuten Kobo Inc.
  iProduct                3 tolino
  iSerial                 4 NNNNNNNN,HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0037
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              1 Mass Storage
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66 [unknown]
      bInterfaceProtocol      1 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

@M0Rf30 M0Rf30 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Please use a vendor block, like the other maintained vendors:

# Rakuten Kobo
ATTR{idVendor}!="1f85", GOTO="not_Kobo"
#   Tolino Vision 3 HD (6052=mass,adb)
ATTR{idProduct}=="6052", GOTO="adbmass"
GOTO="android_usb_rules_end"
LABEL="not_Kobo"
  • Your lsusb shows mass storage + ADB interfaces, so adbmass rather than adb. No other env vars needed.
  • Put the model in the comment with the (pid=modes) convention.
  • Nook is vendor 2080, so no overlap there.

@M0Rf30 M0Rf30 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, the vendor block looks good now.

@M0Rf30
M0Rf30 merged commit 63076d9 into M0Rf30:main Oct 8, 2026
1 check passed
@git-developer

Copy link
Copy Markdown
Contributor Author

When the device is connected using this definition, the UI shows an error message:
grafik

Probably caused by adbmass automatically enabling adbmtp.

@M0Rf30

M0Rf30 commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Thanks for testing, you're right: adbmass falls through to adb_mass, which sets adb_mtp and tags the device with ID_MTP_DEVICE=1, so the file manager attempts an MTP mount. Fixed in 548e01d by routing 1f85:6052 through the plain adb label; mass storage is still handled by usb-storage. Could you pull main and confirm the error is gone?

@git-developer

Copy link
Copy Markdown
Contributor Author

I can confirm that the error is gone in main. Thanks!

@git-developer
git-developer deleted the tolino branch October 9, 2026 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants