Skip to content

Add ssc377_lite_tp-link-tapo-c120-v1 profile - #57

Closed
asyncbridge wants to merge 4 commits into
OpenIPC:masterfrom
asyncbridge:ssc377_lite_tp-link-tapo-c120-v1
Closed

asyncbridge wants to merge 4 commits into
OpenIPC:masterfrom
asyncbridge:ssc377_lite_tp-link-tapo-c120-v1

Conversation

@asyncbridge

Copy link
Copy Markdown

Add configuration for the TP-Link Tapo C120 v1.

@viktorxda
viktorxda force-pushed the master branch 12 times, most recently from debe03d to 9bbe14e Compare June 6, 2025 14:46
@NicksonYap

Copy link
Copy Markdown

Thanks for the PR, @asyncbridge did you successfully get the Tapo C120 with SC340AI to work with OpenIPC?

I noticed a few GitHub issues relating to it as well
OpenIPC/firmware#1654
OpenIPC/firmware#1766

@asyncbridge

Copy link
Copy Markdown
Author

Thanks for the PR, @asyncbridge did you successfully get the Tapo C120 with SC340AI to work with OpenIPC?

I noticed a few GitHub issues relating to it as well OpenIPC/firmware#1654 OpenIPC/firmware#1766

No, I haven't been successful either, so I reached out to OpenIPC tech support for assistance.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We need clarification on what has changed relative to the base file.
Perhaps it would be correct to make changes to the Firmware repository

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Only add sc430ai to set_sensor() (no other changes) in this file.

...

set_sensor() {
case $SENSOR in
gc4653|imx335|imx415|os04a10|sc4336p|sc401ai|sc430ai|sc501ai|sc830ai|sc850sl)
...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What is the purpose of using this file?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I copied this file from the previous builder’s PR for consistency. There isn’t a particular new purpose on my side, so please let me know if it should be removed.

There may be an error calling the driver package.
@openipc-ai

Copy link
Copy Markdown
Contributor

Closing this as stale after 15 months — not because the work was wrong, but because by your own report in this thread it never got the camera running, and nothing since has changed that. The blocker was the SC340AI, tracked in OpenIPC/firmware#1654 and OpenIPC/firmware#1766 rather than here.

For whoever picks the C120 up next, what this branch got right and what it still needed:

  • The kernel config it selects, infinity6c-ssc027a.config, does exist upstream, and the profile it sets (rtl8188fu-ssc377) is shipped by the branch's own etc/wireless/usb, so neither of those is a gap.
  • It has no excludes list. Every other 8M SigmaStar device in the tree ships general/scripts/excludes/<soc>_<flavor>.list, and that list is the main lever for fitting NOR — this defconfig also enables majestic-webui and fonts. Expect a size failure before anything else.
  • It overrides general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar, a file shared by every Infinity6C device, from inside one device directory. That works because only one board builds at a time, but a device-local load_sigmastar is worth a second look before it lands.
  • The defconfig is missing its trailing newline.

Two things are much easier now than when this was opened: since #120 a device registers itself just by having devices/<dir>/.../<dir>_defconfig — no master.yml edit — and this repo builds pull requests, narrowed to the devices a diff reaches. So a fresh attempt gets a real build on the first push.

Happy to reopen if the SC340AI situation moves. Thanks for the effort, and for chasing it with tech support at the time.

@openipc-ai openipc-ai closed this Aug 27, 2026
johnchia added a commit to johnchia/firmware that referenced this pull request Sep 21, 2026
ssc377_raptor is ssc377d_raptor on the suffixless 64 MB part: 16 MB NOR,
8192k rootfs, no radio. ssc377_tapo_c120 derives from it and adds what
that camera has -- an RTL8188FTV on USB, the supplicant, and a baked
U-Boot environment whose one non-default line is wlandev.

The radio needs two pins driven before it exists, and both are board
knowledge, which is why this is a target and not a symbol:

  GPIO 42 (PAD_FUART_RX) gates the radio's supply. This tree's kernel
  holds it low -- the infinity6c padmux table muxes the pad to PWM0 at
  boot and an idle PWM output is a low -- while the vendor's device
  tree leaves it alone. A gpio export claims the pad back, so the arm
  in /etc/wireless/usb needs no kernel change. OpenIPC/builder#57 and
  the C120 page in OpenIPC/wiki#549 drive the same pin.

  GPIO 8 (PAD_UART1_TX) is the chip enable, pulsed the way the stock
  firmware's tmpd_insmod_driver does it: low a second, high, two more,
  insmod. The vendor's kernel carries the same pad table as ours, so
  the number means the same thing here.

Detection cannot find a radio whose power is off, so wlandev has to be
set before S40network runs; on a camera with no login yet the only
place for that is the environment, hence the mkenvimage blob written
through make_full_image.sh's ENV_BIN.

Board status, from one C120: the full image boots, the baked
environment is read, the arm runs, and the enable net rises on its own
once it does -- GPIO 42 gating the supply is confirmed on that unit.
Enumeration and association are not verified: the unit's RTL8188FTV
had been damaged before the arm was corrected and never came up.
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.

4 participants