inital commit
Signed-off-by: s0me1newithhand7s <117505144+s0me1newithhand7s@users.noreply.github.com>
This commit is contained in:
commit
5065633a38
10 changed files with 467 additions and 0 deletions
1
.obsidian/app.json
vendored
Normal file
1
.obsidian/app.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
1
.obsidian/appearance.json
vendored
Normal file
1
.obsidian/appearance.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
33
.obsidian/core-plugins.json
vendored
Normal file
33
.obsidian/core-plugins.json
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"footnotes": false,
|
||||
"properties": false,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": true,
|
||||
"bases": true,
|
||||
"webviewer": false
|
||||
}
|
||||
175
.obsidian/workspace.json
vendored
Normal file
175
.obsidian/workspace.json
vendored
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
{
|
||||
"main": {
|
||||
"id": "88282d4d8dccd5aa",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "ac0586f75fc1db45",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "1f7200af8a2f6425",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "New tab"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "1d19d262cbb633ce",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "5ee5a0f2f4e7c9a6",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "d19ce695f7cb8a18",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical",
|
||||
"autoReveal": false
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "Files"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "54f714ae8bb10b0d",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "Search"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "059bff5b10a84cfb",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300
|
||||
},
|
||||
"right": {
|
||||
"id": "209ef72b0a77bddb",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "3d0e438c7bfa23e4",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "dd7f001cd7d4eaa9",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Backlinks"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f573f7829c2a8eca",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Outgoing links"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c02ccba9fda29cd6",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Tags"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "839b605cd6fd7382",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": false,
|
||||
"daily-notes:Open today's daily note": false,
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false,
|
||||
"bases:Create new base": false
|
||||
}
|
||||
},
|
||||
"active": "1f7200af8a2f6425",
|
||||
"lastOpenFiles": [
|
||||
"doc/cudy/TR3000.md",
|
||||
"doc/content.md",
|
||||
"doc/cudy/TR1200.md",
|
||||
"README.md",
|
||||
"Untitled.md",
|
||||
"Pasted image 20250910161857.png",
|
||||
"src"
|
||||
]
|
||||
}
|
||||
BIN
.trash/Pasted image 20250910161857.png
Normal file
BIN
.trash/Pasted image 20250910161857.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 939 KiB |
0
.trash/Untitled.md
Normal file
0
.trash/Untitled.md
Normal file
91
README.md
Normal file
91
README.md
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
(if you have a better name pls create an issue xd)
|
||||
<h1 align="center"> Project "Portable Router" </h1>
|
||||
|
||||
> [!WARN]
|
||||
> i'm **NOT** responsible for the damage that this process could cause to your hardware. do this at your own risk and be prepared to debug, and debug a lot. in case you aren't familiar with basics of linux cli, OpenWRT / forks and networking - take your time, this will be hard. you have been warned.
|
||||
|
||||
---
|
||||
|
||||
### content
|
||||
<details>
|
||||
<summary> table of content </summary>
|
||||
|
||||
1. Disclaimer
|
||||
2. Requirements
|
||||
3. Current tested devices
|
||||
4. Contribution
|
||||
5. "But why?" or Reasons
|
||||
6. P.S.
|
||||
</details>
|
||||
|
||||
### structure:
|
||||
in `doc/` we have `.md` files for routers tested;
|
||||
in `src/` we have images and etc for text;
|
||||
|
||||
<h2 align="center"> Disclaimer </h2>
|
||||
|
||||
!!! **read WARN once more** !!! and this:
|
||||
1. if you haven't tried OpenWRT / LEDE / etc - **read how to use it**. this repo **is not** a OpenWRT support forum!
|
||||
2. if you have zero / close to zero experience in networking - **do your research first**. this repo **is not** a networking 101!
|
||||
3. do **not** create issues like "Help my <routername> is bricked!" or "Will it work with <routername>?". do your research first! **OR**
|
||||
4. if you want to **Contribute** - read how first!
|
||||
5. and lastly - it's **not** a "budget-friendly router build"! (although some pocket-sized routers are cheap) it's all about **portable** routers.
|
||||
|
||||
|
||||
<h2 align="center"> Requirements </h2>
|
||||
|
||||
mostly "Requirements" comes down to four things:
|
||||
1. router itself
|
||||
2. modem
|
||||
3. power bank
|
||||
4. SIM-card with internet
|
||||
|
||||
**however**, there are things to consider:
|
||||
- your router **must** be on *OpenWRT* (or fork)
|
||||
- your modem **must** support *mobile carrier aggregation*
|
||||
- your power bank **must** provide enough power. e.g. my current setup w/ Cudy TR30 and Fibocom L850 consumes about 15W in a peak, that means my power bank must be at least 20W with PD on port
|
||||
|
||||
optionally, you can have:
|
||||
- VPS for wg/proxy hosting
|
||||
- switch for expanding amount of Ethernet ports
|
||||
- USB extension cord
|
||||
- Physical eSIM
|
||||
|
||||
<h2 align="center"> Current Tested Devices </h2>
|
||||
|
||||
| Image | Status | Link | Author |
|
||||
| - | - | - | -|
|
||||
| <img src="https://www.cudy.com/cdn/shop/files/TR1200.png" width="250"> | Working; Small amount of RAM and not so fast CPU, stable branch; | [Here](./doc/cudy/TR1200.md) | hand7s |
|
||||
| <img src="https://www.cudy.com/cdn/shop/files/TR3000.png" width="250"> | Working; 128mb revision is preferred since it's on a stable branch; | [Here](./doc/cudy/TR3000.md) | hand7s |
|
||||
|
||||
<h2 align="center"> Contribution </h2>
|
||||
|
||||
to expand list above you need to:
|
||||
1. create an issue with "add router" template
|
||||
2. go trough testings (with help from community ofc)
|
||||
3. fork **this** repo with branch's name of your router, e.g. `xiaomi_ax3200`
|
||||
4. write an `.md` in `doc/` directory in a respected directory, e.g. `doc/cudy/TR3600.md`
|
||||
5. add your router to [this](./doc/content.md) `.md`
|
||||
6. open a PR!
|
||||
|
||||
<h2 align="center"> But.. Why? </h2>
|
||||
|
||||
this is a healthy question considering whole idea, but you might misunderstood why i've started this in a first place.
|
||||
most of ISPs are garbage. anywhere in the world you'll pay a lot for bare minimum, sometimes even [security holes](https://youtu.be/TFolQUeWoog?si=tX3JFeQKcmBawhtt) in your ISP, and even if you pay premium - stability still an option, not a requirement. one day i said "enough" and got into this project.
|
||||
yet, mobile carriers not all rainbows and unicorns - various prices, various features, questionable contracts. but you can easily swap mobile carrier since it's just a SIM (or, if you'll buy physical eSIM, just a carrier) and not a whole big process of changing ISP, and way cheaper. and you are **NOT** forced to use crappy ISP hardware.
|
||||
and there are more benefits:
|
||||
1. you can use Modem as your backup / second ISP via [mwan](https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3)
|
||||
2. you can use PPR (yes, it's a PPR in a short) as a second / backup router itself
|
||||
|
||||
but the main feature for this project - being **off-grid**.
|
||||
having this little thing in you backpack and giving yourself a part of private internet with your **own** rules (WG, OVPN, Proxy, Provider) anywhere in the world (with right setup). just pull this thing out of backpack and use it in a public cafe and use your internet by cable for your laptop. or Wi-Fi, if you brave enough. you can even have a working WIRED internet while driving / on a train, if you catch a signal. and if signal is GOOD - aggregation kicks in. possibilities are numeros.
|
||||
|
||||
in general, you *could* try this with any branded router and random USB modem stick, but idea of PPR is not only "Router + Modem". it's a "efficient portable router on a OpenWRT firmware with USB modem that supports mobile carrier aggregation".
|
||||
|
||||
i hope this answers question "why".
|
||||
|
||||
<h2 align="center"> P.S. </h2>
|
||||
|
||||
huge thanks to [Askhat](https://github.com/Askhalion) for helping me with this
|
||||
|
||||
[](https://www.star-history.com/#s0me1newithhand7s/PortableRouterProject&Date)
|
||||
6
doc/content.md
Normal file
6
doc/content.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<h2 align="center"> Current Tested Devices </h2>
|
||||
|
||||
| Image | Status | Link | Author |
|
||||
| ---------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------------------------- | ------ |
|
||||
| <img src="https://www.cudy.com/cdn/shop/files/TR1200.png" width="250"> | Working; Small amount of RAM and not so fast CPU, stable branch; | [Here](./doc/cudy/TR1200.md) | hand7s |
|
||||
| <img src="https://www.cudy.com/cdn/shop/files/TR3000.png" width="250"> | Working; 128mb revision is preferred since it's on a stable branch; | [Here](./doc/cudy/TR3000.md) | hand7s |
|
||||
79
doc/cudy/TR1200.md
Normal file
79
doc/cudy/TR1200.md
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<h1 align="center"> Cudy TR1200 </h1>
|
||||
|
||||
```Sh
|
||||
.______ __
|
||||
| |.--.--.-- | |.--.--.
|
||||
| ---|| | | _ | || | |
|
||||
|______||_____|______||___ |
|
||||
. OpenWrt firmwares |_____|
|
||||
```
|
||||
|
||||
[OpenWRT page](https://openwrt.org/toh/cudy/tr1200)
|
||||
|
||||
<img src="https://www.cudy.com/cdn/shop/files/TR1200.png" width="500" align="center">
|
||||
|
||||
| Name | Spec |
|
||||
| --------- | ------------------------------------------- |
|
||||
| CPU | MediaTek MT7628AN x 1 @ 580 Mhz (MIPS) |
|
||||
| ROM | 16MB SPI NAND |
|
||||
| RAM | 128MB DDR3 |
|
||||
| WLAN | MediaTek MT7613BEN (Wi-Fi 5) |
|
||||
| UBS | + (2.0) |
|
||||
| Power | PD 10W via USB Type-C |
|
||||
| LAN | 2x 1Gpbs MT7628AN |
|
||||
| Dimension | 15 by 15 by 10 cm |
|
||||
| | |
|
||||
|
||||
## Short Description
|
||||
|
||||
entry-level thing:
|
||||
- only Wi-Fi 5 and 1Gbps
|
||||
- 10 watts is crazy
|
||||
- USB 2.0 *might* not be enough for chonky modems
|
||||
- 16MB of ROM is not enough (u-boot layout might help)
|
||||
- 1 MIPS core is not enough
|
||||
- yet, RAM is plenty
|
||||
- small
|
||||
|
||||
## How2
|
||||
|
||||
1. OpenWRT Transition
|
||||
1. update [stock firmware](https://www.cudy.com/pages/download-center/tr3000-1-0) to latest version
|
||||
2. use special [Cudy Intermediary OpenWRT firmware](https://drive.google.com/drive/folders/1BKVarlwlNxf7uJUtRhuMGUqeCa5KpMnj?usp=sharing&pli=1) to sysupgrade to OpenWRT
|
||||
3. download latest stable build for your OpenWRT of choice (for e.g. https://firmware-selector.openwrt.org/?version=24.10.2&target=mediatek%2Ffilogic&id=cudy_tr3000-v1)
|
||||
4. do whatever you need to setup OpenWRT for you **before** next step, do **not** forget about backups
|
||||
2. Fibocom L850 Support
|
||||
1. ssh to your router
|
||||
2. you need to update (still a) `opkg` via `opkg update`
|
||||
3. you need to install `modemmanager` and `luci-proto-modemmanager` via `opkg install modemmanager luci-proto-modemmanager`
|
||||
4. now reboot
|
||||
5. after reboot you'll need to execute `AT+GTUSBMODE=7` in a modem shell and then reboot once more
|
||||
6. and now you can setup connection via `modemmanager` !
|
||||
3. Fibocom L850 alternative way
|
||||
1. instead of `modemmanager` we could use `openwrt.132lan.ru`'s packages and script.
|
||||
2. `opkg update` before everything
|
||||
3. now `wget -O /tmp/add.sh http://openwrt.132lan.ru/packages/24.10/packages/add.sh` and then `sh /tmp/add.sh`
|
||||
4. now we need to `opkg update` once more
|
||||
5. after that `luci-app-modeminfo`, `modeminfo`, `modeminfo-serial-xmm`, `modeminfo-serial-fibocom`, `luci-proto-xmm`, `xmm-modem`, `atinout` and `luci-app-atinout` will be available to install via `opkg install luci-app-modeminfo modeminfo modeminfo-serial-xmm modeminfo-serial-fibocom luci-proto-xmm xmm-modem atinout luci-app-atinout`
|
||||
6. now reboot
|
||||
7. after that you'll be able to use `Intel XMM Cellular` as an Interface!
|
||||
|
||||
## Optional
|
||||
|
||||
> [!WARN]
|
||||
> 16MB of ROM
|
||||
|
||||
1. WireGuard:
|
||||
1. `opkg update`
|
||||
2. for cli-only `opkg install kmod-wireguard wireguard-tools`
|
||||
3. for luci usage `opkg install kmod-wireguard wireguard-tools luci-proto-wireguard`
|
||||
4. reboot
|
||||
5. now you'll be able to use `Wireguard` as an Interface!
|
||||
|
||||
## Caveats
|
||||
|
||||
- no heatsink
|
||||
- USB 2.0 is not powerful enough for dual USB setup (USB thumb drive + USB Modem)
|
||||
- 16MB of ROM (3rd time is a charm)
|
||||
|
||||
---
|
||||
81
doc/cudy/TR3000.md
Normal file
81
doc/cudy/TR3000.md
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
<h1 align="center"> Cudy TR3000 </h1>
|
||||
|
||||
```Sh
|
||||
.______ __
|
||||
| |.--.--.-- | |.--.--.
|
||||
| ---|| | | _ | || | |
|
||||
|______||_____|______||___ |
|
||||
. OpenWrt firmwares |_____|
|
||||
```
|
||||
|
||||
[OpenWRT page](https://openwrt.org/toh/cudy/tr3000)
|
||||
|
||||
<img src="https://www.cudy.com/cdn/shop/files/TR3000.png" width="500" align="center">
|
||||
|
||||
## Table of hardware
|
||||
|
||||
| Name | Spec |
|
||||
| --------- | ------------------------------------------- |
|
||||
| CPU | MediaTek MT7981BA x 2 @ 1.3 GHz (Cortex-A53)|
|
||||
| ROM | 128MB (or 256MB) SPI NAND |
|
||||
| RAM | 512MB DDR3 |
|
||||
| WLAN | MediaTek MT7976CN (up to Wi-Fi 6) |
|
||||
| UBS | + (3.0) |
|
||||
| Power | PD 15W via USB Type-C |
|
||||
| LAN | 1x 2.5Gbps RTL8221B, 1x 1Gpbs MT7981BA |
|
||||
| Dimension | 15 by 15 by 10 cm |
|
||||
| | |
|
||||
|
||||
## Short Description
|
||||
|
||||
little agile monster of networking (imho):
|
||||
- 2.5gbps is nuts
|
||||
- Wi-Fi 6 is nuts
|
||||
- ONLY 15 watts for whole router
|
||||
- small
|
||||
- MTK chipset, and even good one
|
||||
- decent amount of ROM (you can use u-boot layout for more ROM btw)
|
||||
- and 256MB version, comming soon(tm) on a stable OpenWRT (but you can build your own)
|
||||
|
||||
## How2
|
||||
|
||||
1. OpenWRT Transition
|
||||
1. update [stock firmware](https://www.cudy.com/pages/download-center/tr3000-1-0) to latest version
|
||||
2. use special [Cudy Intermediary OpenWRT firmware](https://drive.google.com/drive/folders/1BKVarlwlNxf7uJUtRhuMGUqeCa5KpMnj?usp=sharing&pli=1) to sysupgrade to OpenWRT
|
||||
3. download latest stable build for your OpenWRT of choice (for e.g. https://firmware-selector.openwrt.org/?version=24.10.2&target=mediatek%2Ffilogic&id=cudy_tr3000-v1)
|
||||
4. do whatever you need to setup OpenWRT for you **before** next step, do **not** forget about backups
|
||||
2. Fibocom L850 Support
|
||||
1. ssh to your router
|
||||
2. you need to update (still a) `opkg` via `opkg update`
|
||||
3. you need to install `modemmanager` and `luci-proto-modemmanager` via `opkg install modemmanager luci-proto-modemmanager`
|
||||
4. now reboot
|
||||
5. after reboot you'll need to execute `AT+GTUSBMODE=7` in a modem shell and then reboot once more
|
||||
6. and now you can setup connection via `modemmanager` !
|
||||
3. Fibocom L850 alternative way
|
||||
1. instead of `modemmanager` we could use `openwrt.132lan.ru`'s packages and script.
|
||||
2. `opkg update` before everything
|
||||
3. now `wget -O /tmp/add.sh http://openwrt.132lan.ru/packages/24.10/packages/add.sh` and then `sh /tmp/add.sh`
|
||||
4. now we need to `opkg update` once more
|
||||
5. after that `luci-app-modeminfo`, `modeminfo`, `modeminfo-serial-xmm`, `modeminfo-serial-fibocom`, `luci-proto-xmm`, `xmm-modem`, `atinout` and `luci-app-atinout` will be available to install via `opkg install luci-app-modeminfo modeminfo modeminfo-serial-xmm modeminfo-serial-fibocom luci-proto-xmm xmm-modem atinout luci-app-atinout`
|
||||
6. now reboot
|
||||
7. after that you'll be able to use `Intel XMM Cellular` as an Interface!
|
||||
|
||||
## Optional
|
||||
|
||||
1. WireGuard:
|
||||
1. `opkg update`
|
||||
2. for cli-only `opkg install kmod-wireguard wireguard-tools`
|
||||
3. for luci usage `opkg install kmod-wireguard wireguard-tools luci-proto-wireguard`
|
||||
4. reboot
|
||||
5. now you'll be able to use `Wireguard` as an Interface!
|
||||
2. OpenVPN:
|
||||
1. not recommended since no official kmod for OVPN (yet)
|
||||
|
||||
## Caveats
|
||||
|
||||
none
|
||||
|
||||
---
|
||||
|
||||
p.s.
|
||||
my current setup lmfao
|
||||
Loading…
Add table
Add a link
Reference in a new issue