Skocz do zawartości
kamil2234

LCD4Linux w AsusWRT / Merlin i ramka samsung SPF-72H

Rekomendowane odpowiedzi

kamil2234

Czy ktoś z kolegów ma może pakiet ipkg lcd4linux w wersji  współracują z ramką  samsung SPF-72H dla routera RT-AC68U (architektura armv7)?  

 

Ewentualnie prośba o naprawadzenie jak można skompilować sobie samemu pakiet  ipkg dla routera AC68U z lcd4linux bez wkomilowywania go w całe firmware.

 

Obecnie używam optware i chciałbym aby tak pozostało.

 

 

 

 

 

 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
house

Ciężko będzie, jedyne co znalazłem to 

https://files.ryzhov-al.ru/Routers/lcd4linux-arm/

ale nie jestem pewien czy to czasem nie dla chroot'a. Poproś kolegę

Nie posiadasz wymaganych uprawnień, aby wyświetlać zawartość linków.
@
Nie posiadasz wymaganych uprawnień, aby wyświetlać zawartość linków.
, aby skompilował pakiet i umieścił w swoim

http://tomato.groov.pl/repo-arm/

w entware pakiet oczywiście jest :

Nie posiadasz wymaganych uprawnień, aby wyświetlać zawartość linków.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
kamil2234

dzięki za odpowiedź. Udało mi się znaleść inne rozwiązanie wrzucenia porządanej zawartości na moją ramkę w formie jpg. 

 

Żródło z

Nie posiadasz wymaganych uprawnień, aby wyświetlać zawartość linków.

 

Dodałem swoje ramki.

#!/usr/bin/env python

import os
import struct
import sys
import time
import usb.core
from usb.util import *

vendorId = 0x04e8
models = {'SPF-72H': (0x200a, 0x200b),'SPF-85V': (0x201a, 0x201f),'SPF-87H': (0x2033, 0x2034), 'SPF-107H': (0x2027, 0x2028)  }

chunkSize = 0x4000
bufferSize = 0x20000

def expect(result, verifyList):
  resultList = result.tolist()
  if resultList != verifyList:
    print >> sys.stderr, "Warning: Expected " + str(verifyList) + " but got " + str(resultList)

def storageToDisplay(dev):
  print "Setting device to display mode"
  try:
    dev.ctrl_transfer(CTRL_TYPE_STANDARD | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x06, 0xfe, 0xfe, 254)
  except usb.core.USBError as e:
    errorStr = str(e)
    if errorStr != 'No such device (it may have been disconnected)':
      raise e

def displayModeSetup(dev):
  print "Sending setup commands to device"  result = dev.ctrl_transfer(CTRL_TYPE_VENDOR | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x04, 0x00, 0x00, 1)
  expect(result, [ 0x03 ])
#  result = dev.ctrl_transfer(CTRL_TYPE_VENDOR | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x01, 0x00, 0x00, 2)
#  expect(result, [ 0x09, 0x04 ])
#  result = dev.ctrl_transfer(CTRL_TYPE_VENDOR | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x02, 0x00, 0x00, 1)
#  expect(result, [ 0x46 ])

def paddedBytes(buf, size):
  diff = size - len(buf)
  return buf + bytes(b'\x00') * diff

def chunkyWrite(dev, buf):
  pos = 0
  while pos < bufferSize:
    dev.write(0x02, buf[pos:pos+chunkSize])
    pos += chunkSize

def writeImage(dev):
#  result = dev.ctrl_transfer(CTRL_TYPE_STANDARD | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x06, 0x0300, 0x00, 255)
#  expect(result, [ 0x04, 0x03, 0x09, 0x04 ])

#  result = dev.ctrl_transfer(CTRL_TYPE_STANDARD | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x06, 0x0301, 0x0409, 255)

  if len(sys.argv) < 2 or sys.argv[1] == "-":
    content = sys.stdin.read()
  else:
    f = open(sys.argv[1])
    content = f.read()
    f.close()

  size = struct.pack('I', len(content))
  header = b'\xa5\x5a\x09\x04' + size + b'\x46\x00\x00\x00'

  content = header + content

  pos = 0
  while pos < len(content):
    buf = paddedBytes(content[pos:pos+bufferSize], bufferSize)
    chunkyWrite(dev, buf)
    pos += bufferSize

  
#  result = dev.ctrl_transfer(CTRL_TYPE_VENDOR | CTRL_IN | CTRL_RECIPIENT_DEVICE, 0x06, 0x00, 0x00, 2)
#  expect(result, [ 0x00, 0x00 ])

found = False

for k, v in models.iteritems():
  dev = usb.core.find(idVendor=vendorId, idProduct=v[0])
  if dev:
    print "Found " + k + " in storage mode"
    storageToDisplay(dev)
    time.sleep(1)
    dev = usb.core.find(idVendor=vendorId, idProduct=v[1])
    found = True
  if not dev:
    dev = usb.core.find(idVendor=vendorId, idProduct=v[1])
  if dev:
    print "Found " + k + " in display mode"
    dev.set_configuration()
    displayModeSetup(dev)
    writeImage(dev)
    found = True

if not found:
  print >> sys.stderr, "No supported devices found"
  sys.exit(-1)

Niestety ten skrypt poza wrzucaniem jpg niczego nie oferuje.   Zawsze można jedank samemu przygotować zdjęcie wrzucając tam np. parametry routera i wywoływać je w pętli.

 

I cenna uwaga - Zdjęcie musi być dokładnie w formacie posiadanej ramki - np 800x600 lub 800x480 itd.. Samo się nie przeskaluje!!!

  • Lubię to 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
house

Temat zamykam jako rozwiązany.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

  • Podobna zawartość

    • patryczekk
      Przez patryczekk
      Witam, czy soft Merlin jest dostępny dla modelu asus RT-AC58U przeglądałem stronę (chyba) twórcy merlina i nie 
      widziałem do mojego modelu, może coś wiecie w temacie?
    • OpenITbot
      Przez OpenITbot
      Zobacz plik ASUS RT-AC68U Firmware
      ASUS RT-AC68U Firmware
      Dodający OpenITbot Dodano 14.02.2014 Kategoria ASUS  
    • muzykcb
      Przez muzykcb
      Witam.
      Posiadam ASUS G752VY z dyskiem Samsung 960 Evo SSD M.2 NVMe czy mogę pod drugi slot podłączyć dysk zwykły pod m2 (nie NVMe) SSD Samsung 860 EVO 1TB M.2 2280.
       
      https://www.olx.pl/oferta/ssd-samsung-860-evo-1tb-m-2-2280-gwarancja-CID99-IDt3lRw.html#284b2352c9
       
      jeżeli tak to czy będzie działał w RAID0 ?

openitforum.pl

Forum poświęcone przesyłaniu i przechowywaniu danych w małej sieci. Prezentujemy testy urządzeń oraz pomagamy w ich obsłudze i konfiguracji.
×

Powiadomienie o plikach cookie

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Wszystkie wymagane w tej kwestii informacje zawierają: Polityka prywatności, Regulamin oraz Warunki użytkowania.