{"id":28028497,"url":"https://github.com/themactep/scriba","last_synced_at":"2025-11-07T02:04:18.738Z","repository":{"id":289323604,"uuid":"970872718","full_name":"themactep/scriba","owner":"themactep","description":"Linux CLI app for CH341A flash chip programmer. A simplified version of SNANDer. A part of Thingino family.","archived":false,"fork":false,"pushed_at":"2025-04-22T17:56:51.000Z","size":133,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-11T07:15:58.434Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themactep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-22T17:01:12.000Z","updated_at":"2025-05-07T14:21:03.000Z","dependencies_parsed_at":"2025-04-22T18:42:11.866Z","dependency_job_id":null,"html_url":"https://github.com/themactep/scriba","commit_stats":null,"previous_names":["themactep/scriba"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscriba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscriba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscriba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscriba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themactep","download_url":"https://codeload.github.com/themactep/scriba/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253528977,"owners_count":21922639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-11T07:16:02.295Z","updated_at":"2025-11-07T02:04:18.732Z","avatar_url":"https://github.com/themactep.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Scriba - Thingino Programming App\n=================================\n\nScriba is a version of SNANDer that doesn't include any code that isn't used in\nLinux. It has been reorganized and streamlined to serve one sole purpose:\nto work with flash chips in IP cameras that are used with the Thingino project.\n\nScriba works well with the first generation of CH341A programmers that have been\nmodified to work at 3.3 volts. You can find more information about the necessary\nchange at https://github.com/themactep/thingino-firmware/wiki/CH341A-Programmer.\n\nBuilding\n--------\n\n### Prerequisites\n\n- GCC compiler\n- libusb-1.0 development files\n- make\n\n### Build Options\n\n# Standard build (dynamically linked)\n```\nmake\n```\n\n### Static build (includes libusb)\n```\nmake static\n```\n\n### Install\n```\nsudo make install\n```\n\nConfiguration\n-------------\n\n### USB Permissions\n\nThe udev rule `40-persistent-ch341a.rules` grants access to CH341A USB devices.\n\nUsage\n-----\n\n```\nscriba [options]\n\nAutomation:\n  -R \u003cfile\u003e      Read chip (read twice and compare)\n  -W \u003cfile\u003e      Write chip (erase + write + verify)\n\nSingle operations:\n  -i             Read chip ID\n  -e             Erase chip\n  -r \u003cfile\u003e      Read chip to file\n  -w \u003cfile\u003e      Write file to chip\n  -v             Verify after write\n\nGranularity:\n  -a \u003caddress\u003e   Set address\n  -l \u003cbytes\u003e     Set length\n\nSPI NAND:\n  -d             Disable internal ECC\n  -o \u003cbytes\u003e     Set OOB size\n  -I             Ignore ECC errors\n  -k             Skip BAD pages\n\nEEPROM:\n  -E \u003cchip\u003e      Select EEPROM type\n  -8             Set 8-bit organization\n  -f \u003cbits\u003e      Set address size\n  -s \u003cbytes\u003e     Set page size\n\nGeneral:\n  -h             Display help\n  -L             List supported chips\n```\n\nExamples\n--------\n\n### Get flash info\n```\nscriba -i\n```\n\n### Read and save flash\n```\nscriba -r output.bin\n```\n\n### Write and verify\n```\nscriba -w data.bin -v\n```\n\n### Write chip (automatic erase + write + verify)\n```\nscriba -W firmware.bin\n```\n\n### Read chip (read twice and compare)\n```\nscriba -R verified_backup.bin\n```\n\n### EEPROM operations\n```\nscriba -E 93c46 -r eeprom.bin\n```\n\n\nAuthors\n-------\n\nOriginal code by [McMCC](https://github.com/McMCCRU/SNANDer),\nmodified by [Droid-MAX](https://github.com/Droid-MAX/),\nmodified by [Paul Philippov](https://github.com/themactep).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fscriba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemactep%2Fscriba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fscriba/lists"}